c# 导出DataSet到excel
public static bool ExportToExcel_dataSet(string queryNo, string conditions)
{
bool _bl = false;
try
{
Docmd.cnnOpen();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "dbo.sx_pro_QueryTest";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = Docmd.cnn;
cmd.CommandTimeout = 180;
SqlDataAdapter da = new SqlDataAdapter(cmd);
cmd.Parameters.AddWithValue("@QueryNo",queryNo);
cmd.Parameters.AddWithValue("@Whr", conditions);
DataSet ds = new DataSet();
da.Fill(ds,"t1");
DataTable dt = ds.Tables["t1"];
int qtyRows = dt.Rows.Count;
if(qtyRows==0)
{
Docmd.msgInfo("no records found. \r\n 没有找到记录");
goto line1;
}
int qtyCols = dt.Columns.Count;
int rn = 0;
int cn = 0;
object[,] objTitle = new object[1, qtyCols];
foreach (DataColumn dc in dt.Columns)
{
objTitle[0, cn] = dc.ColumnName;
cn++;
}
object[,] objData = new object[qtyRows, qtyCols];
foreach (DataRow dr in dt.Rows)
{
cn = 0;
foreach (DataColumn dc in dt.Columns)
{
objData[rn, cn] = dr[dc].ToString();
cn++;
}
rn++;
}
excel.Application xlApp = new excel.Application();
excel.Workbook wk = xlApp.Workbooks.Add();
excel.Worksheet sht = wk.Worksheets[1];
xlApp.Visible = true;
excel.Range myRange_Title = sht.Range[sht.Cells[1, 1], sht.Cells[1, qtyCols]];
myRange_Title.Value2 = objTitle;
excel.Range myRange = sht.Range[sht.Cells[2, 1], sht.Cells[qtyRows + 1, qtyCols]];
myRange.Value2 = objData;
sht.UsedRange.WrapText = false;
line1:
ds.Dispose();
cmd.Dispose();
}
catch(Exception ex)
{
Docmd.msgInfo(ex.Message);
}
finally
{
Docmd.cnnClose();
}
return _bl;
}
最新文章
- Android M(6.0) 权限相关
- Request 和 Response 原理
- 关于int类型的赋值语句正确的有
- WeedFS依赖库 0.6.1
- [Java面试一]面试复习大纲.
- VS2013 密钥
- jboss7(01)服务器开启和关闭命令
- java CyclicBarrier
- nss_12 上传文件后返回jsonresult结果,IE中出现文件下载框
- Linux:crontab命令学习
- VTK中国文字显示和简单的医疗图像浏览软件
- 关于js中for in的缺陷浅析
- BZOJ 2809: [Apio2012]dispatching [斜堆]
- PHP判断ip地址是否合法
- ssh中文乱码解决
- LINUX下 USB转串口 【转】
- 新唐ISP操作步骤(转)
- Oracle安装部署之命令建库
- js 时间操作积累
- Firebird shadow
热门文章
- 线程之间的通信socketpair【学习笔记】【原创】
- mysql数据库ip与字符串
- 【转】Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- poj 3517(约瑟夫环问题)
- 洛谷 P3952 时间复杂度【模拟】
- bzoj 2528: [Poi2011]Periodicity【kmp+构造】
- .Net Core之Configuration
- php安装的扩展php -m可以看到,但是phpinfo()看不到,php-fpm关闭了重新打开还是不行?
- 转】[1.0.2] 详解基于maven管理-scala开发的spark项目开发环境的搭建与测试
- python代码覆盖率coverage简介与用法