会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
敲打着键盘的日子
也许生活就是这样,你可以为别人编织快乐的程序,无意中却让自己的人生一片乱码。
博客园
首页
新随笔
联系
订阅
管理
[转载]c#导出到excel
//
导出Excel的方法
private
void
ExportExcel()
{
DataSet ds
=
dtsSelect;
//
数据源
if
(ds
==
null
)
return
;
string
saveFileName
=
""
;
bool
fileSaved
=
false
;
SaveFileDialog saveDialog
=
new
SaveFileDialog();
saveDialog.DefaultExt
=
"
xls
"
;
saveDialog.Filter
=
"
Excel文件|*.xls
"
;
saveDialog.FileName
=
"
Sheet1
"
;
saveDialog.ShowDialog();
saveFileName
=
saveDialog.FileName;
if
(saveFileName.IndexOf(
"
:
"
)
<
0
)
return
;
//
被点了取消
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
//
写入字段
for
(
int
i
=
0
;i
<
ds.Tables[
0
].Columns.Count;i
++
)
{
worksheet.Cells[
1
,i
+
1
]
=
ds.Tables[
0
].Columns[i].ColumnName;
}
//
写入数值
for
(
int
r
=
0
;r
<
ds.Tables[
0
].Rows.Count;r
++
)
{
for
(
int
i
=
0
;i
<
ds.Tables[
0
].Columns.Count;i
++
)
{
worksheet.Cells[r
+
2
,i
+
1
]
=
ds.Tables[
0
].Rows[r][i];
}
System.Windows.Forms.Application.DoEvents();
}
worksheet.Columns.EntireColumn.AutoFit();
//
列宽自适应。
if
(cmbxType.Text
!=
"
Notification
"
)
{
Excel.Range rg
=
worksheet.get_Range(worksheet.Cells[
2
,
2
],worksheet.Cells[ds.Tables[
0
].Rows.Count
+
1
,
2
]);
rg.NumberFormat
=
"
00000000
"
;
}
if
(saveFileName
!=
""
)
{
try
{
workbook.Saved
=
true
;
workbook.SaveCopyAs(saveFileName);
fileSaved
=
true
;
}
catch
(Exception ex)
{
fileSaved
=
false
;
MessageBox.Show(
"
导出文件时出错,文件可能正被打开!\n
"
+
ex.Message);
}
}
else
{
fileSaved
=
false
;
}
xlApp.Quit();
GC.Collect();
//
强行销毁
if
(fileSaved
&&
System.IO.File.Exists(saveFileName)) System.Diagnostics.Process.Start(saveFileName);
//
打开EXCEL
}
posted @
2007-10-25 17:10
水静痕迹
阅读(
102
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告