C# DataSet导出Excel
//多个DataSet导出Excel文件
public static void DataSetToExcel(DataSet p_ds,string strSavePath)
{
int l_intSheetIndex=;//多个DataSet导出多个Excel,针对Excel文件中的第一个Sheet
//实例化Excel对象
Microsoft.Office.Interop.Excel.Application app=new Microsoft.Office.Interop.Excel.Application();
//根据Excel对象新建Excel文件
Microsoft.Office.Interop.Excel.Workbook book=app.Workbooks.Add(true);
try
{
foreach(DataTable dt in p_ds.Tables)
{
if(dt!=null && dt.Rows.Count>)
{
object missing=System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Worksheet sheet;
//判断Excel文件是否存在Sheet
//1.不存在就新建Sheet
//2.存在就开启对应Sheet
if(book.Worksheets.Count < l_intSheetIndex)
{
//新建Sheet
sheet=(Microsoft.Office.Interop.Excel.Worksheet)book.Worksheets.Add(Type.Missing,book.Worksheets[book.Worksheets.Count],,Type.Missing);
}
//开启对应Sheet
sheet=(Microsoft.Office.Interop.Excel.Worksheet)book.Worksheets.get_Item(l_intSheetIndex);
//设置Sheet名
sheet.Name=dt.TableName; //取得区域 --取得区域的方式 1.设置整列 2.设置使用的区域
//整列
//Range column = ((Range)worksheet.Cells[1, 1]).EntireColumn;(选取A列;方法:先选取A1单元格,然后选取A1单元格所在的这一整列。)
//使用的区域
Microsoft.Office.Interop.Excel.Range l_range=sheet.Range[sheet.Cells[,],sheet.Cells[dt.Rows.Count+,dt.Columns.Count]];
//设置区域格式“@”是文本格式
l_range.NumberFormatLocal="@";
int i=;
foreach(DataColumn dc in dt.Columns)
{
sheet.Cells[,i+]=dc.ColumnName;
i++;
}
int j=;
foreach(DataRow dr in dt.Rows)
{
int k=;
foreach(DataColumn dc in dt.Columns)
{
sheet.Cells[j+,k+]=dr[k].ToString();
k++;
}
}
book.Saveed=true;
}
l_intSheetIndex++;
}
((Microsoft.Office.Interop.Excel.WorkSheet)book.Worksheets.get_Item()).Select();
book.SaveAs(strSavePath);
book.Close(Type.Missing,Type.Missing,Type.Missing);
}
catch(Exception ex)
{
throw ex;
}
finally
{
app.Quit();
IntPtr t=new IntPtr(app.Hwnd);
int d=;
GetWindowThreadProcessId(t,out d);
System.Diagenostics.Process p=System.Diagnostics.Process.GetProcessById(d);
p.Kill();
}
} [DllImport("User32.dll",CharSet=CharSet.Auto)]
Public static extern int GetWindowThreadProcessId(IntPtr hwnd,out int ID);
C# DataSet导出Excel的更多相关文章
- NPOI DataSet导出excel
/// <summary> /// DataSet导出到Excel的MemoryStream /// </summary> /// <param name="d ...
- DataSet导出Excel,比以往的方法导出的Excel外观更加好看
原文发布时间为:2010-06-21 -- 来源于本人的百度文章 [由搬家工具导入] ======目前方法=========== #region 生成Excel/// <summary>/ ...
- 【C#-导出Excel】DataSet导出Excel
1.添加引用 2.封装方法 using System; using System.Data; using System.IO; using NPOI.HSSF.UserModel; using NPO ...
- xml方式将dataset导出excel
using System;using System.Collections;using System.Collections.Generic;using System.Data;using Syste ...
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续篇)
上周六我发表的文章<分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility>受到了大家的热烈支持与推荐,再此表示感谢,该ExcelUtility ...
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility
1. ExcelUtility功能: 1.将数据导出到EXCEL(支持XLS,XLSX,支持多种类型模板,支持列宽自适应) 类名:ExcelUtility. Export 2.将EXCEL ...
- NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...
- [转] Asp.Net 导出 Excel 数据的9种方案
湛刚 de BLOG 原文地址 Asp.Net 导出 Excel 数据的9种方案 简介 Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website ...
- NPOI导出Excel帮助类
工具类 using System; using System.Collections.Generic; using System.Data; using System.IO; using System ...
随机推荐
- Spring学习笔记:Spring整合Mybatis学习PPT(三:整合思路)
三.Spring-Mybatis的整合思路
- Python基础学习总结(三)
4.if语句 If语句可以检查判定当前条件,并执行相应措施. if a in A: if a 条件: 执行命令1 4 else: 执行命令2 if判断条件还可以简写 if x: print('True ...
- 问题小记(MyBatis传参出现的小问题)
问题一:在MyBatis中注解@Param和ParameterType不能一起用,会报错Parameter 'XXX' not found. Available parameters are [1, ...
- python之from 和import执行过程分析
原文链接:http://blog.csdn.net/lis_12/article/details/52883729 问题1 同一个目录下,有两个Python文件,A.py,B.py #A.py fro ...
- freemarker生成word,表格分页
在做项目的过程中,使用到了freemarker生成word.又有一个需求,明细的要确定有多少页,这就用到了换页的xml标签了,找了我好久 <w:p ><w:r><w:br ...
- 10.31NOIP模拟赛解题报告
心路历程 预计得分:\(100 +100 +80\) 实际得分:\(30 + 100 + 80\) 天天挂分..感觉我noip要凉.. T1不难,但是太坑了 T2不难 T3不难,但是在小机房考试脑子都 ...
- 【Android】16.0 UI开发(七)——列表控件RecyclerView的点击事件实现
1.0 在各布局的基础上,修改ProvinceAdapter.java的代码: package com.example.recyclerviewtest; import android.support ...
- webservice使用windows身份验证,ajax请求报错401未授权的解决办法
$.ajax({ type: "GET", url: service_url, dataType: "xml", data: "ParamId=&qu ...
- js-滚动到指定位置导航栏固定顶部
最近整理一下之前做的一个项目,把滚动条动态固定顶部的代码整理出来和大家分享,上代码 <!DOCTYPE html> <html> <head> <meta c ...
- python SQLAchemy多外键关联
关联同一张表的两个字段 Customer表有2个字段都关联了Address表 创建表结构 orm_many_fk.py 只创建表结构 from sqlalchemy import Integer, F ...