第一步 引用命名空间
using Excel = Microsoft.Office.Interop.Excel;//这种引用方式
using System.Reflection; //Missing类命名空间
到命名空间之前请先添加引用
Microsoft Execl 12....这项
#region 从DataSet到出到Excel
/**/
/// <summary>
/// 执行导出
/// </summary>
/// <param name="ds">要导出的DataTable </param>
/// <param name="toFileName">要导出到的execl文件路径+文件名</param>ps:如果是c/s程序,那您直接丢一openFileDialog就方便多了
/// <param name="strExcelFileName">导出到的execl的Sheet名</param>
private void doExport(DataTable dt, string toFileName, string strSheetName)
{
Excel.Application excel = new Excel.Application(); //Execl的操作类
//读取保存目标的对象
Excel.Workbook bookDest = excel.Workbooks._Open(toFileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);//打开要导出到的Execl文件的工作薄。--ps:关于Missing类在这里的作用,我也不知道...囧
Excel.Worksheet sheetDest = bookDest.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value) as Excel.Worksheet;//给工作薄添加一个Sheet
sheetDest.Name = strSheetName;//自己定义名字O(∩_∩)O哈哈~
int rowIndex = 1;
int colIndex = 0;
excel.Application.Workbooks.Add(true);//这句不写不知道会不会报错
foreach (DataColumn col in dt.Columns)
{
colIndex++;
sheetDest.Cells[1, colIndex] = col.ColumnName;//Execl中的第一列,把DataTable的列名先导进去
}
//导入数据行
foreach (DataRow row in dt.Rows)
{
rowIndex++;
colIndex = 0;
foreach (DataColumn col in dt.Columns)
{
colIndex++;
sheetDest.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
}
}
bookDest.Saved = true;
bookDest.Save();
excel.Quit();
excel = null;
GC.Collect();//垃圾回收
}
#endregion
也可直接创建新的Execl文件,不过需要修改一下代码。
#region 从DataSet到出到Excel
/**/
/// <summary>
/// 执行导出
/// </summary>
/// <param name="ds">要导出的DataTable </param>
/// <param name="strExcelFileName">导出到的execl的Sheet名</param>
private void doExport(DataTable dt, string strSheetName)
{
Excel.Application excel = new Excel.Application(); //Execl的操作类
//读取保存目标的对象
Excel.Workbook bookDest = (Excel.WorkbookClass)excel.Workbooks.Add(Missing.Value);
Excel.Worksheet sheetDest = bookDest.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value) as Excel.Worksheet;//给工作薄添加一个Sheet
sheetDest.Name = strSheetName;//自己定义名字O(∩_∩)O哈哈~
int rowIndex = 1;
int colIndex = 0;
excel.Application.Workbooks.Add(true);//这句不写不知道会不会报错
foreach (DataColumn col in dt.Columns)
{
colIndex++;
sheetDest.Cells[1, colIndex] = col.ColumnName;//Execl中的第一列,把DataTable的列名先导进去
}
//导入数据行
foreach (DataRow row in dt.Rows)
{
rowIndex++;
colIndex = 0;
foreach (DataColumn col in dt.Columns)
{
colIndex++;
sheetDest.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
}
}
bookDest.Saved = true;
bookDest.SaveCopyAs("要保存的文件路径+文件名.xls");//方式一
//方式二 bookDest.SaveAs("要保存的文件路径+文件名.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
excel.Quit();
excel = null;
GC.Collect();//垃圾回收
}
#endregion
分享到:
相关推荐
excel导出
java Excel导出 Excel数据处理
excel导出,支持前台和后台导出,并用struts2,简洁代码
java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入java Excel 导出 导入
php excel导出 导入php excel导出 导入php excel导出 导入php excel导出 导入
需要使用JAVA 做EXCEL导出的同学,有问题尽管私信
Excel导出数据 Excel导出数据 Excel导出数据 Excel导出数据 Excel导出数据
Excel导出百万级数据
项目范围:纯前端; 项目内容:luckysheet在线编辑Excel导出,Excel文件导入; 项目运行:直接浏览器运行index.html
excel导出类,可以直接使用类来实现excel导出,不回出现excel扩展格式错误问题!
java excel导出数据
nio的excel导出
ASP excel导出/导入Access数据库(代码+实例下载)
ExtJS实现Excel导出,最常用的可以解决大部分问题
POI技术实现Excel导出,支持自定义表头,2层标题,大数据量
spring boot excel导出 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过...
自己写一个可直接导出List<Object>数据的Excel工具类,使用起来很方便。
excel导出lua和xml工具
根据已经配置好的Excel模板导出数据。资源是个完整项目导入就可使用(本人用的是jdk7)。