c# winform导出Excel

//需要注意添加引用Microsoft.Office.Interop.Excel.dll string fileName =DateTime.Now.Year+ DateTime.Now.Month+ DateTime.Now.Day + ".xls";
            if (showView.Rows.Count > 0)
            {

                string saveFileName = "";
                //bool fileSaved = false;
                SaveFileDialog saveDialog = new SaveFileDialog();
                saveDialog.DefaultExt = "xls";
                saveDialog.Filter = "Excel文件|*.xls";
                saveDialog.FileName = fileName;
                saveDialog.ShowDialog();
                saveFileName = saveDialog.FileName;
                if (saveFileName.IndexOf(":") < 0) return; //被点了取消
                Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
                if (xlApp == null)
                {
                    MessageBox.Show("无法创建Excel对象,可能未安装Excel");
                    return;
                }

                Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
                Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
                Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1

                //写入标题
                for (int i = 0; i < showView.ColumnCount; i++)
                {
                    worksheet.Cells[1, i + 1] = showView.Columns[i].HeaderText;
                }
                //写入数值
                for (int r = 0; r < showView.Rows.Count; r++)
                {
                    for (int i = 0; i < showView.ColumnCount; i++)
                    {
                        worksheet.Cells[r + 2, i + 1] = showView.Rows[r].Cells[i].Value;
                    }
                    System.Windows.Forms.Application.DoEvents();
                }
                worksheet.Columns.EntireColumn.AutoFit();//列宽自适应

                if (saveFileName != "")
                {
                    try
                    {
                        workbook.Saved = true;
                        workbook.SaveCopyAs(saveFileName);
                        //fileSaved = true;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);
                    }
                }
                xlApp.Quit();
                GC.Collect();//强行销毁
                MessageBox.Show(fileName + "的资料保存成功", "提示", MessageBoxButtons.OK);
            }
            else
            {
                MessageBox.Show("报表为空,无表格需要导出", "提示", MessageBoxButtons.OK);
            }
时间: 2024-11-04 16:04:34

c# winform导出Excel的相关文章

NPOI winform导出Excel

引用命名空间 using System.IO;using NPOI.XSSF.UserModel;using NPOI.HSSF.Util; /// <summary> /// 导出Excel的操作 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOpenE

winform导出excel

public void AllDataSetToExcel(DataSet ds) { string saveFileName = ""; bool fileSaved = false; Microsoft.Win32.SaveFileDialog saveDialog = new Microsoft.Win32.SaveFileDialog(); saveDialog.DefaultExt = "xls"; saveDialog.Filter = "Ex

winform导入导出excel,后台动态添加控件

思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(string extension = Path.GetExtension(fileDialog.FileName).ToLower();),并设置允许后缀文件名: 3,NPOI转datetable,遍历tatetable转成实体类列表并入库: 导出: 1, 创建提示用户保存类,SaveFileDial

导出Excel方法(winform或web)

一.winform形式导出Excel 此方法适用于winform项目导出Excel,使用前需要引用Excel.dll,此处是直接用ds导出Excel,导出方法类GetExport如下: 1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.IO; 5 using System.Text; 6 using System.Windows.Forms; 7 using Excel;

C# winform 导出导入Excel/Doc 完整实例教程[网上看到的]

还真没做过winform的导出导入,今天上网百度了一下.结果--- 所以还是我自己写个吧.之前做过web的,半搬半做就OK. 1添加引用:Aspose.Cells.dll(我们就叫工具包吧,可以从网上下载.关于它的操作我在“Aspose.Cells操作说明 中文版 下载 Aspose C# 导出Excel 实例”一文中的说.这里你暂时也可不理会它.) Aspose.Cells.dll  和中文说明 下载地址: http://item.taobao.com/auction/item_detail-

winform导出dataviewgrid数据为excel的方法

本文实例讲述了winform导出dataviewgrid数据为excel的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: #region 导出dataViewGrid视图中的数据为xls格式 private void btnExportList_Click(object sender, EventArgs e) { string fname = string.Empty; SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter =

winform 导出datagridview 到excel

数据不多可以用下面的方式方法,如果数据较大,不建议这样使用,可能会比较卡如果电脑上没有Microsoft.Office.Interop.Excel.dll去找DLL下载站下载即可 需要先导入这个dll的引用 呈上代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; usi

C# WinForm使用XML+XSLT导出Excel数据表格

最终导出EXCEL样式如下图: 1.将最终样式的Excel另存为XML电子表格2003,如下图: 2.使用记事本打开保存后的XML电子表格2003格式的文件,得到文件后台源码,如下: 1 <?xml version="1.0"?> 2 <?mso-application progid="Excel.Sheet"?> 3 <Workbook xmlns="urn:schemas-microsoft-com:office:spre

C#winform导出数据到Excel的类

1 /// <summary> 2 /// 构造函数 3 /// </summary> 4 public ExportData() 5 { 6 7 } 8 /// <summary> 9 /// 保存文件名 10 /// </summary> 11 private string savefilename = ""; 12 /// <summary> 13 /// 准备导出的数据容器 14 /// </summary>