zoukankan      html  css  js  c++  java
  • C# winfrom 导出 Excel

     1 private void 导出ToolStripMenuItem_Click(object sender, EventArgs e) {
     2             string path = "";
     3             SaveFileDialog save = new SaveFileDialog();
     4             save.DefaultExt = "xlsx";
     5             save.Filter = "Excel File(*.xlsx)|*.xlsx";
     6             if (save.ShowDialog() == DialogResult.OK) {
     7                 path = save.FileName;
     8                 if(DataTableToExcel(path,dt,true)) {
     9                     MessageBox.Show("导出成功");
    10                 }
    11             }
    12             else {
    13                 return;
    14             }
    15         }
    16         public  bool DataTableToExcel(string filePath, System.Data.DataTable dataTable, bool isShowExcle) {
    17             //System.Data.DataTable dataTable = dataSet.Tables[0];  
    18             int rowNumber = dataTable.Rows.Count;
    19             int columnNumber = dataTable.Columns.Count;
    20             int colIndex = 0;
    21             if (rowNumber == 0) {
    22                 return false;
    23             }
    24             Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
    25             Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
    26             Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
    27             excel.Visible = isShowExcle;
    28             Microsoft.Office.Interop.Excel.Range range;
    29             foreach (DataColumn col in dataTable.Columns) {
    30                 colIndex++;
    31                 excel.Cells[1, colIndex] = col.ColumnName;
    32             }
    33             object[,] objData = new object[rowNumber, columnNumber];
    34             for (int r = 0; r < rowNumber; r++) {
    35                 for (int c = 0; c < columnNumber; c++) {
    36                     objData[r, c] = dataTable.Rows[r][c];
    37                 }
    38             }
    39             range= worksheet.Range[worksheet.Cells[2,1], worksheet.Cells[rowNumber + 1, columnNumber]]; //4.0版本以上
    40             // range = worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, columnNumber]); //如果出现没有找到get_Range定义是因为版本不同,使用上面的就可以啦
    41             range.Value = objData;
    42             worksheet.SaveAs(filePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    43             //excel.Quit();
    44             return true;
    45         }
    View Code
  • 相关阅读:
    微信小程序实现课程表实例
    探索Java中的网络编程技术
    Java中的Spring MVC简介笔记
    我没有想赢,我只是不想输
    下次路过,人间再无我。
    从零基础入门MySQL数据库基础课
    vue.js-详解三大流行框架VUE_快速进阶前端大咖-Vue基础
    学习网站/实用工具,收藏的快搜网站,想找什么都有!!!
    【灵魂拷问】你真的懂得Mysql的管理和使用吗?
    【领会要领】web前端-轻量级框架应用(jQuery基础)
  • 原文地址:https://www.cnblogs.com/zgrh/p/11130781.html
Copyright © 2011-2022 走看看