WinForm_datagridview-to-excel_excel.dll处理方式
来源:互联网 发布:电影男人四十知乎 编辑:程序博客网 时间:2024/06/05 17:20
2017/3/22
VS中加入excel.dll的引用,cs代码中using Excel = Microsoft.Office.Interop.Excel;
保存文件时文件格式为xlsx,而不是xls,后者保存之后打开会提示文件格式错误,影响客户使用。
代码部分:
{ string path = ""; SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.DefaultExt = "xlsx"; saveDialog.Filter = "Excel文件|*.xlsx"; saveDialog.ShowDialog(); path = saveDialog.FileName; if (path.IndexOf(":") < 0) return; //判断是否点击取消 try { Excel.Application xlApp = new Excel.Application(); if (xlApp == null) { MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel"); return; } Excel.Workbooks workbooks = xlApp.Workbooks; Excel.Workbook workbook = workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];//取得sheet1 int colIndex = 0; //写入标题 for (int i = 0; i < this.dataGridView1.ColumnCount; i++) { if (dataGridView1.Columns[i].Visible)//用作于不导出隐藏列 { colIndex++; worksheet.Cells[1, colIndex] = dataGridView1.Columns[i].HeaderText; //worksheet.Cells[1, i] = myDGV.Columns[i].HeaderText; } } //写入数值 for (int r = 0; r < dataGridView1.Rows.Count ; r++) { colIndex = 0; for (int i = 0; i < dataGridView1.ColumnCount; i++) { if (dataGridView1.Columns[i].Visible) { colIndex++; worksheet.Cells[r + 2, colIndex] = dataGridView1.Rows[r].Cells[i].Value; worksheet.Cells[colIndex,1 ].NumberFormat = "@";//[]中的值:第几行第1列,NumberFormat="@"即格式化为文本型:解决001前0不显示问题 } } System.Windows.Forms.Application.DoEvents(); } worksheet.Columns.EntireColumn.AutoFit();//列宽自适应 if (path != "") { try { workbook.Saved = true; workbook.SaveCopyAs(path); //fileSaved = true; } catch (Exception ex) { //fileSaved = false; MessageBox.Show("导出文件时出错,文件可能正被打开!\n\r" + ex.Message); } } xlApp.Quit(); GC.Collect();//强行销毁 // if (fileSaved && System.IO.File.Exists(saveFileName)) System.Diagnostics.Process.Start(saveFileName); //打开EXCEL MessageBox.Show(path + ",导出成功", "系统提示", MessageBoxButtons.OK); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
0 0
- WinForm_datagridview-to-excel_excel.dll处理方式
- winform_DataGridView
- C#操作Excel_Excel对象
- Jni开发时,dll文件放置的路径处理方式
- Jni开发时,dll文件放置的路径处理方式
- Jni开发时,dll文件放置的路径处理方式
- Jni开发时,dll文件放置的路径处理方式
- WinForm_DataGridView一列多个按钮
- 处理XML的新方式——LINQ to XML
- ValueError: could not convert string to float的处理方式
- 在使用ILSpy对c# dll进行反编译时遇到的问题及处理方式
- dll to lib
- 【zz】lib to dll
- aspx to dll
- C++ dll to C#
- DLL - How to Write
- load dll 简单方式
- DLL及调用方式
- 进程间、线程间通信方式小结
- WdatePicker 开始日期不能大于结束日期,结束时间不能小于开始时间
- ios直播技术(4)-- 视频渲染
- maven卡住的解决办法
- WebServie
- WinForm_datagridview-to-excel_excel.dll处理方式
- python中numpy的random模块
- 记录
- Shell Sort(希尔排序)
- Linux Oracle卸载步骤
- Linux chmod命令及权限含义
- 【LeetCode】495. Teemo Attacking
- Java异常笔记
- LinkSpark日报|人工智能资料库