DataTable to excel
2015-11-19 08:47
405 查看
/// <summary> /// DataTable直接导出Excel,此方法会把DataTable的数据用Excel打开,再自己手动去保存到确切的位置 /// </summary> /// <param name="dt">要导出Excel的DataTable</param> /// <returns></returns> private bool DataTableToExcel(DataTable dt) { Excel.Application app = new Excel.Application(); if (app == null) { throw new Exception("Excel无法启动"); } app.Visible = true; Excel.Workbooks wbs = app.Workbooks; Excel.Workbook wb = wbs.Add(Type.Missing); Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1]; int cnt = dt.Rows.Count; int columncnt = dt.Columns.Count; // *****************获取数据******************** object[,] objData = new Object[cnt + 1, columncnt]; // 创建缓存数据 // 获取列标题 for (int i = 0; i < columncnt; i++) { objData[0, i] = dt.Columns[i].ColumnName; } // 获取具体数据 for (int i = 0; i < cnt; i++) { System.Data.DataRow dr = dt.Rows[i]; for (int j = 0; j < columncnt; j++) { objData[i + 1, j] = dr[j]; } } //********************* 写入Excel****************** Excel.Range r = ws.Range[app.Cells[1, 1], app.Cells[cnt + 1, columncnt]]; r.NumberFormat = "@"; //r = r.get_Resize(cnt+1, columncnt); r.Value2 = objData; r.EntireColumn.AutoFit(); app = null; return true; }
相关文章推荐
- 如何将win10回收站固定到桌面快速访问
- C#中out和ref之间的区别
- SqlServer中把结果集放到到临时表的方法
- AbsListView及其子类GridView和ListView及其之类ExpandableListView取消默认点击效果
- socket通信简介
- 每天一篇javascript学习小结(属性定义方法)
- 在Win10资源管理器的地址栏中怎么输入指令打开常用工具?
- iOS 新特性分列式 之 iOS 9.1 - 主要内容:苹果笔 API 引入
- ios7 兼容之前版本
- detached entity passed to persist
- 你真的会玩SQL吗?玩爆你的数据报表之存储过程编写(上)
- 《Head First Servlet JSP》学习笔记
- Android发送短信项目代码
- 【转】利用js来实现微信摇一摇来自动更换网页背景的功能
- [Windows Server 2003] 安装IIS6.0及FTP
- 中国各省市经纬度坐标
- UI之棋盘的设置方式
- ecmobile iOS 9.0下 xcode修正
- UIPopoverController
- java UUID的创建