excel操作的几种方法
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Windows.Forms; using System.Reflection;namespace DMS { /// <summary> /// C#操作Excel类 /// </summary> class ExcelOperate { //法一 //public bool DataSetToExcel(DataSet dataSet, bool isShowExcle) //{ // DataTable dataTable = dataSet.Tables[0]; // int rowNumber = dataTable.Rows.Count; // int columnNumber = dataTable.Columns.Count;// if (rowNumber == 0) // { // MessageBox.Show("没有任何数据可以导入到Excel文件!"); // return false; // }// //建立Excel对象 // Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); // excel.Application.Workbooks.Add(true); // excel.Visible = isShowExcle;//是否打开该Excel文件// //填充数据 // for (int c = 0; c < rowNumber; c++) // { // for (int j = 0; j < columnNumber; j++) // { // excel.Cells[c + 1, j + 1] = dataTable.Rows[c].ItemArray[j]; // } // }// return true; //}//法二 //public bool DataSetToExcel(DataSet dataSet, bool isShowExcle) //{ // DataTable dataTable = dataSet.Tables[0]; // int rowNumber = dataTable.Rows.Count;// int rowIndex = 1; // int colIndex = 0;// if (rowNumber == 0) // { // return false; // }// //建立Excel对象 // Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); // excel.Application.Workbooks.Add(true); // excel.Visible = isShowExcle;// //生成字段名称 // foreach (DataColumn col in dataTable.Columns) // { // colIndex++; // excel.Cells[1, colIndex] = col.ColumnName; // }// //填充数据 // foreach (DataRow row in dataTable.Rows) // { // rowIndex++; // colIndex = 0; // foreach (DataColumn col in dataTable.Columns) // { // colIndex++; // excel.Cells[rowIndex, colIndex] = row[col.ColumnName]; // } // }// return true; //}//法三(速度最快) /// <summary> /// 将数据集中的数据导出到EXCEL文件 /// </summary> /// <param name="dataSet">输入数据集</param> /// <param name="isShowExcle">是否显示该EXCEL文件</param> /// <returns></returns> public bool DataSetToExcel(DataSet dataSet, bool isShowExcle) { DataTable dataTable = dataSet.Tables[0]; int rowNumber = dataTable.Rows.Count;//不包括字段名 int columnNumber = dataTable.Columns.Count; int colIndex = 0;if (rowNumber == 0) { return false; }//建立Excel对象 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); //excel.Application.Workbooks.Add(true); Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1]; excel.Visible = isShowExcle; //Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)excel.Worksheets[1]; Microsoft.Office.Interop.Excel.Range range;//生成字段名称 foreach (DataColumn col in dataTable.Columns) { colIndex++; excel.Cells[1, colIndex] = col.ColumnName; }object[,] objData = new object[rowNumber, columnNumber]; for (int r = 0; r < rowNumber; r++) { for (int c = 0; c < columnNumber; c++) { objData[r, c] = dataTable.Rows[r][c]; } //Application.DoEvents(); }// 写入Excel range = worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, columnNumber]); //range.NumberFormat = "@";//设置单元格为文本格式 range.Value2 = objData; worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, 1]).NumberFormat = "yyyy-m-d h:mm";return true; }//法四 //public bool DataSetToExcel(DataSet dataSet, bool isShowExcle) //{ // DataTable dataTable = dataSet.Tables[0]; // int rowNumber = dataTable.Rows.Count; // int columnNumber = dataTable.Columns.Count; // String stringBuffer = "";// if (rowNumber == 0) // { // MessageBox.Show("没有任何数据可以导入到Excel文件!"); // return false; // }// //建立Excel对象 // Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); // excel.Application.Workbooks.Add(true); // excel.Visible = isShowExcle;//是否打开该Excel文件// //填充数据 // for (int i = 0; i < rowNumber; i++) // { // for (int j = 0; j < columnNumber; j++) // { // stringBuffer += dataTable.Rows[i].ItemArray[j].ToString(); // if (j < columnNumber - 1) // { // stringBuffer += "\t"; // } // } // stringBuffer += "\n"; // } // Clipboard.Clear(); // Clipboard.SetDataObject(stringBuffer); // ((Microsoft.Office.Interop.Excel.Range)excel.Cells[1, 1]).Select(); // ((Microsoft.Office.Interop.Excel.Worksheet)excel.ActiveWorkbook.ActiveSheet).Paste(Missing.Value, Missing.Value); // Clipboard.Clear();// return true; //}//public bool DataSetToExcel(DataSet dataSet, string fileName, bool isShowExcle) //{ // DataTable dataTable = dataSet.Tables[0]; // int rowNumber = dataTable.Rows.Count; // int columnNumber = dataTable.Columns.Count;// if (rowNumber == 0) // { // MessageBox.Show("没有任何数据可以导入到Excel文件!"); // return false; // }// //建立Excel对象 // Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); // Microsoft.Office.Interop.Excel.Workbook workBook = excel.Application.Workbooks.Add(true); // excel.Visible = false;//是否打开该Excel文件// //填充数据 // for (int i = 0; i < rowNumber; i++) // { // for (int j = 0; j < columnNumber; j++) // { // excel.Cells[i + 1, j + 1] = dataTable.Rows[i].ItemArray[j]; // } // }// //string fileName = path + "\\" + DateTime.Now.ToString().Replace(':', '_') + ".xls"; // workBook.SaveAs(fileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);// try // { // workBook.Saved = true; // excel.UserControl = false; // //excelapp.Quit(); // } // catch (Exception exception) // { // MessageBox.Show(exception.Message); // } // finally // { // workBook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Missing.Value, Missing.Value); // excel.Quit(); // }// if (isShowExcle) // { // System.Diagnostics.Process.Start(fileName); // } // return true; //}//public bool DataSetToExcel(DataSet dataSet, string fileName, bool isShowExcle) //{ // DataTable dataTable = dataSet.Tables[0]; // int rowNumber = dataTable.Rows.Count;//不包括字段名 // int columnNumber = dataTable.Columns.Count; // int colIndex = 0;// if (rowNumber == 0) // { // MessageBox.Show("没有任何数据可以导入到Excel文件!"); // return false; // }// //建立Excel对象 // Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); // //excel.Application.Workbooks.Add(true); // Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); // Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1]; // excel.Visible = isShowExcle; // //Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)excel.Worksheets[1]; // worksheet.Name = "挠度数据"; // Microsoft.Office.Interop.Excel.Range range;// //生成字段名称 // foreach (DataColumn col in dataTable.Columns) // { // colIndex++; // excel.Cells[1, colIndex] = col.ColumnName; // }// object[,] objData = new object[rowNumber, columnNumber];// for (int r = 0; r < rowNumber; r++) // { // for (int c = 0; c < columnNumber; c++) // { // objData[r, c] = dataTable.Rows[r][c]; // } // //Application.DoEvents(); // }// // 写入Excel // range = worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, columnNumber]); // //range.NumberFormat = "@";//设置单元格为文本格式 // range.Value2 = objData; // worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, 1]).NumberFormat = "yyyy-m-d h:mm";// //string fileName = path + "\\" + DateTime.Now.ToString().Replace(':', '_') + ".xls"; // workbook.SaveAs(fileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);// try // { // workbook.Saved = true; // excel.UserControl = false; // //excelapp.Quit(); // } // catch (Exception exception) // { // MessageBox.Show(exception.Message); // } // finally // { // workbook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Missing.Value, Missing.Value); // excel.Quit(); // }// //if (isShowExcle) // //{ // // System.Diagnostics.Process.Start(fileName); // //} // return true; //}/// <summary> /// 将数据集中的数据保存到EXCEL文件 /// </summary> /// <param name="dataSet">输入数据集</param> /// <param name="fileName">保存EXCEL文件的绝对路径名</param> /// <param name="isShowExcle">是否打开EXCEL文件</param> /// <returns></returns> public bool DataSetToExcel(DataSet dataSet, string fileName, bool isShowExcle) { DataTable dataTable = dataSet.Tables[0]; int rowNumber = dataTable.Rows.Count;//不包括字段名 int columnNumber = dataTable.Columns.Count; int colIndex = 0;if (rowNumber == 0) { MessageBox.Show("没有任何数据可以导入到Excel文件!"); return false; }//建立Excel对象 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); //excel.Application.Workbooks.Add(true); Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1]; excel.Visible = false; //Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)excel.Worksheets[1]; Microsoft.Office.Interop.Excel.Range range;//生成字段名称 foreach (DataColumn col in dataTable.Columns) { colIndex++; excel.Cells[1, colIndex] = col.ColumnName; }object[,] objData = new object[rowNumber, columnNumber]; for (int r = 0; r < rowNumber; r++) { for (int c = 0; c < columnNumber; c++) { objData[r, c] = dataTable.Rows[r][c]; } //Application.DoEvents(); }// 写入Excel range = worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, columnNumber]); //range.NumberFormat = "@";//设置单元格为文本格式 range.Value2 = objData; worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, 1]).NumberFormat = "yyyy-m-d h:mm";//string fileName = path + "\\" + DateTime.Now.ToString().Replace(':', '_') + ".xls"; workbook.SaveAs(fileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);try { workbook.Saved = true; excel.UserControl = false; //excelapp.Quit(); } catch (Exception exception) { MessageBox.Show(exception.Message); } finally { workbook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Missing.Value, Missing.Value); excel.Quit(); }if (isShowExcle) { System.Diagnostics.Process.Start(fileName); } return true; } } }
excel操作的几种方法相关推荐
- SAS导出EXCEL文件的几种方法
SAS学习 SAS导出EXCEL文件的几种方法 以下基于SAS 9.3简体中文版 一.proc export proc export data=a.dataname outfile='D:\excel ...
- 数据库数据用Excel导出的3种方法
数据库数据用Excel导出的3种方法 分类: .Net 2008-06-30 11:07 173人阅读 评论(2) 收藏 举报 将数据库数据用Excel导出主要有3种方法:用Excel.Applica ...
- Php 链式执行,PHP实现链式操作的三种方法详解
本文实例讲述了PHP实现链式操作的三种方法.分享给大家供大家参考,具体如下: 在php中有很多字符串函数,例如要先过滤字符串收尾的空格,再求出其长度,一般的写法是: strlen(trim($str) ...
- Bean的生命周期行为控制,初始化与销毁bean时执行操作的三种方法
Bean的生命周期行为控制,初始化与销毁bean时执行操作的三种方法 一.实现Spring的接口 二.XML配置中使用 init-method和destory-method 三.使用@PostCons ...
- 怎么把html数据导入excel,将网页表格数据导入到Excel中的两种方法
将网页表格数据导入到Excel中的第一种方法: 第一步,将包括所需表格的网页打开,并按CTRL+C把网址复制到剪贴板,以备下一步使用. 第二步,打开运行Excel软件,单击菜单栏中的"数据→ ...
- 【Arduino串口数据保存到excel中常用三种方法】
[Arduino串口数据保存到excel中常用三种方法] 1. 前言 2. 利用excel自带Data Streamer读取 2.1 启用 Data Streamer 加载项 2.2 刷写代码并将微控 ...
- 【Python】使用Pandas对数值进行分箱操作的4种方法
使用Pandas对数值进行分箱操作的4种方法 方法1:between & loc 方法2:cut 方法3:qcut 方法4:value_counts 补充材料 分箱是一种常见的数据预处理技术, ...
- office是不是python的打开方式_python打开excel文件的2种方法(基于win32com)
excel文件打开,会遇到两种不通的场景:excel文件还没有打开,直接打开操作 文件一定打开,需要脚本获取到已打开的文件,然后再操作 [1]直接打开 import win32com.client a ...
- 在单元格中进行Excel换行的两种方法和取消换行符的方法
我想打破Excel中的字符串! 如何破坏单元格中的字符串? 如果要将输入的文本换行到Excel单元格,有时会看到键入大量空间并强行提供行的情况,但效率非常低.让我们来看看如何做一个整洁的细胞休息. 如 ...
最新文章
- JavaScript instanceof 运算符深入剖析
- 文巾解题 1556. 千位分隔数
- win10怎么设置开机启动项目_开机启动项怎么设置呢?禁用自启动程序
- 安装MySQL-python报错 error: command 'gcc' failed with exit status 1解决方法
- MySQL常用命令大全
- web前端之框架(frameset)
- 机械硬盘旋转时间_高端PC真的没有机械盘了么?
- 印花固浆在水性印花中的作用
- Python数据结构与算法(1.5)——Python基础之函数与异常
- spine怎么取消版本升级_设置 - Spine用户指南
- 什么是servlet?servlet的运行原理?如何自定义一个servlet?
- js上传图片转base64格式
- Spring框架七大核心模块
- 使用.NET技术制作KTV点歌项目,新手篇
- 谷歌(Chrom)浏览器遇到同步已暂停的解决办法
- Go语言学习培训靠谱吗
- 匿名上位机v2.6和V7自定义帧代码和飞控姿态代码
- 智能体的奇幻漂流之“成都折叠”篇
- 再见2022,你好2023:八年程序媛老兵的践行、思考与展望
- 【PID优化】基于正余弦算法 (SCA)优化PID实现微型机器人系统位置控制附simulink模型和matlab代码
热门文章
- android+adt+很慢,Android的模拟器,在ADT中调试运行AVD时,速度太慢
- oracle11g系统初始化意义,Oracle11G 初始化脚本
- python集合的操作_Python集合操作方法详解
- 计算机导论sql试题,sql语句查询 练习题
- html 一个圆圈一个c,如何用c语言程序画一个圆?
- python pip工具命令_python 工具链 包管理工具 pip
- 老司机们都是怎么学习STM32的?
- 学好单片机必须要了解的的8个电路设计
- 可配置的逻辑块(CLB)
- 计算机关机又自动重启,为什么w7电脑关机后自动重启_w7电脑关机后自动重启怎么解决...