DataTable数据导入Excel(导入到三个工作表)
来源:互联网 发布:安川机器人数据下载 编辑:程序博客网 时间:2024/06/07 00:01
Microsoft.Office.Interop.Excel.ApplicationClass xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); #region 新建一个Excel if (sheetName == "PaymentDetail")//第二次进入时不需要创建Excel { xlApp.DefaultFilePath = ConfigurationSettings.AppSettings["ExcelFilesDriver"].ToString(); xlApp.DisplayAlerts = true; xlApp.SheetsInNewWorkbook = 1; Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true); xlBook.SaveCopyAs("PaymentExport-" + Yok.Components.YokContext.Current.CurrentUser.CompanyID.ToString() + "-" + DateTime.Now.ToString("yyyy-MM-dd") + ".xls"); } #endregion string filePath = xlApp.DefaultFilePath + "PaymentExport-" + Yok.Components.YokContext.Current.CurrentUser.CompanyID.ToString() + "-" + DateTime.Now.ToString("yyyy-MM-dd") + ".xls"; object oMissing = System.Reflection.Missing.Value; xlApp.Visible = false; xlApp.DisplayAlerts = false; Microsoft.Office.Interop.Excel.Workbooks oBooks = xlApp.Workbooks; Microsoft.Office.Interop.Excel._Workbook xlWorkbook = null; xlWorkbook = oBooks.Open(filePath,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing, oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing); Microsoft.Office.Interop.Excel.Worksheet xlWorksheet; // 添加入一个新的Sheet页。 xlWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkbook.Worksheets.Add(oMissing,oMissing,1,oMissing); //新加的Sheet页名。 xlWorksheet.Name = sheetName; #region 导入数据到Excel //将DataTable的列名导入Excel表第一行 int rowNum = dt.Rows.Count; int columnNum = dt.Columns.Count; int rowIndex = 1; int columnIndex = 0; foreach (DataColumn dc in dt.Columns) { columnIndex++; xlApp.Cells[rowIndex, columnIndex] = dc.ColumnName; } //将DataTable中的数据导入Excel中 for (int i = 0; i < rowNum; i++) { rowIndex++; columnIndex = 0; for (int j = 0; j < columnNum; j++) { columnIndex++; xlApp.Cells[rowIndex, columnIndex] = dt.Rows[i][j].ToString(); } } #endregion // 保存并关闭这个工作簿。 xlWorkbook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, oMissing, oMissing); System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook); xlWorkbook = null; //结束进程,释放资源 xlApp.Quit(); GC.Collect(); #region 输出IO并提供下载 if (sheetName == "PaymentApprovalDetail")//只有运行第二遍时才打印输出 { this.btnDeleteTable.Visible = true; FileInfo Fi = new FileInfo(filePath); if (Fi.Exists) { FileStream fs = new FileStream(filePath, FileMode.Open); byte[] bytes = new byte[(int)fs.Length]; fs.Read(bytes, 0, bytes.Length); fs.Close(); Response.Charset = "GBK"; Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment; filename=PaymentExport"+ DateTime.Now.ToString("yyyy-MM-dd") + ".xls"); Response.BinaryWrite(bytes); Response.Flush(); Response.End(); } } #endregion
- DataTable数据导入Excel(导入到三个工作表)
- DataTable数据导入到Excel
- excel 导入到datatable
- DataTable数据导入Excel
- 把DataTable的数据导入到Excel表里
- 使用NPOI将DataTable中的数据导入到Excel中
- 将excel中的数据导入到DataTable中
- 数据导入到excel
- 把数据从DataTable导入到Excel文件里并创建表
- C#将DataTable导入到Excel
- 将Excel导入到虚拟DataTable中
- C#将Datatable导入到Excel
- C#中将DataTable数据集导入 Excel
- Excel数据导入导DataTable 方法总结
- EXCEL 导入数据到数据库表
- excel表数据导入到mysql
- 导入Excel数据到ArcGIS属性表
- SQL批处理 导入excel数据到表
- wince6.0编译环境123
- ★☆ Visual Studio 2008 每日小窍门 【持续发布中~】 Tips:102
- 利用VB在Excel中复制插入行
- What is a Parked Domain?
- SQL数据类型详解
- DataTable数据导入Excel(导入到三个工作表)
- JCreator编译问题
- Linux下tar命令详解
- java调用c++封装的dll
- 代理
- GridView实现一行显示并左右滚动
- 搭建nfs服务
- 浮士德 献词
- js读书笔记2---对象属性