zoukankan
html css js c++ java
将DataTable对象输出到新建EXCEL文档中
Code
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
using
System.IO;
namespace
ToExcel
{
public
partial
class
Form4 : Form
{
public
Form4()
{
InitializeComponent();
}
private
void
button1_Click(
object
sender, EventArgs e)
{
if
(
this
.CreateExcelFileForDataTable(
this
.GetData(),
"
c:\\test2.xls
"
,
null
))
{
MessageBox.Show(
"
成功!
"
);
}
}
将DataTable对象输出到新建EXCEL文档中
#region
将DataTable对象输出到新建EXCEL文档中
/**/
///
<summary>
///
将DataTable对象输出到新建EXCEL文档中
///
</summary>
///
<param name="table">
DataTable对象
</param>
///
<param name="strFullFilePath">
要创建的xls文件的完整路径
</param>
///
<param name="title">
一个标题
</param>
///
<returns></returns>
public
bool
CreateExcelFileForDataTable(System.Data.DataTable table,
string
strFullFilePath,
string
title)
{
//
文件存在时先删除文件后再进行下一步操作
FileInfo file
=
new
FileInfo(strFullFilePath);
if
(file.Exists)
{
file.Delete();
}
int
rowIndex
=
3
;
//
开始写入数据的单元格行
int
colIndex
=
0
;
//
开始写入数据的单元格列
System.Reflection.Missing miss
=
System.Reflection.Missing.Value;
Excel.ApplicationClass mExcel
=
new
Excel.ApplicationClass();
//
创建一个Excel对象
mExcel.Visible
=
false
;
Excel.Workbooks mBooks
=
(Excel.Workbooks)mExcel.Workbooks;
Excel.Workbook mBook
=
(Excel.Workbook)(mBooks.Add(miss));
Excel.Worksheet mSheet
=
(Excel.Worksheet)mBook.ActiveSheet;
Excel.Range er
=
mSheet.get_Range((
object
)
"
A1
"
, System.Reflection.Missing.Value);
//
向Excel文件中写入标题文本
er.Value2
=
title;
try
{
foreach
(DataColumn col
in
table.Columns)
//
将所得到的表的列名,赋值给单元格
{
colIndex
++
;
mSheet.Cells[
3
, colIndex]
=
col.ColumnName;
}
foreach
(DataRow row
in
table.Rows)
//
同样方法处理数据
{
rowIndex
++
;
colIndex
=
0
;
foreach
(DataColumn col
in
table.Columns)
{
colIndex
++
;
if
(colIndex
==
2
)
{
mSheet.Cells[rowIndex, colIndex]
=
"
'
"
+
row[col.ColumnName].ToString();
//
第二行数据为银行帐号信息转换为字符防止首位0丢失
}
else
{
mSheet.Cells[rowIndex, colIndex]
=
row[col.ColumnName].ToString();
}
}
}
//
保存工作已写入数据的工作表
mBook.SaveAs(strFullFilePath, miss, miss, miss, miss, miss, Excel.XlSaveAsAccessMode.xlNoChange, miss, miss, miss, miss, miss);
return
true
;
}
catch
(Exception ee)
{
throw
new
Exception(ee.Message);
}
finally
//
finally中的代码主要用来释放内存和中止进程()
{
mBook.Close(
false
, miss, miss);
mBooks.Close();
mExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(er);
System.Runtime.InteropServices.Marshal.ReleaseComObject(mSheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(mBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(mBooks);
System.Runtime.InteropServices.Marshal.ReleaseComObject(mExcel);
GC.Collect();
}
return
false
;
}
DataTable实例
#region
DataTable实例
/**/
///
<summary>
///
DataTable实例
///
</summary>
///
<returns></returns>
public
System.Data.DataTable GetData()
{
System.Data.DataTable dt
=
new
System.Data.DataTable();
DataColumn dc1
=
new
DataColumn(
"
Name
"
);
DataColumn dc2
=
new
DataColumn(
"
Age
"
);
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
DataRow dr1
=
dt.NewRow();
dr1[
0
]
=
"
Lily
"
;
dr1[
1
]
=
"
10
"
;
DataRow dr2
=
dt.NewRow();
dr2[
0
]
=
"
Lucy
"
;
dr2[
1
]
=
"
9
"
;
dt.Rows.Add(dr1);
dt.Rows.Add(dr2);
return
dt;
}
#endregion
#endregion
}
}
查看全文
相关阅读:
WPF入门(一):简单的演示
代码的演化DI(理解依赖注入di,控制反转ioc)
WPF入门(三):简单绑定 绑定到页面元素
WPF入门(四):简单绑定 静态资源绑定
WPF入门(六)样式Style
WPF入门(八)布局(layout) port 2
js select onchange
js this指向
js 两个日期之间有多少个星期几
js table的所有td 按行合并
原文地址:https://www.cnblogs.com/soso_ak/p/1433254.html
最新文章
malloc/free与new/delete的区别与联系
Linux下进程通信的八种方法
给定一个数组a[N],我们希望构造数组b[N]。。(2013腾讯实习生笔试题)
有一亿个随机数,不排序如何找出其中位数
Python的zip函数
游戏运营的数据分析
回车提交
Iphone牛逼使用方法
浅析Java程序员的存储过程
MySQL数据库新特性之存储过程入门教程
热门文章
http://blog.csdn.net/feihuale/article/details/7078021
Spring MVC 教程,快速入门,深入分析
游戏运营数据分析指标
Ext.grid.GridPanel中文解释汇总
将jar文件转换成exe可执行文件
PHP页面编码问题
WPF入门(二):初遇RoutedEvent
WPF入门(七)绑定一个集合
WPF入门(八)布局(layout)
WPF入门(五):简单绑定 用户输入合法性验证
Copyright © 2011-2022 走看看