zoukankan
html css js c++ java
C#操作OFFICE一(EXCEL)
C#操作Excel!
public
class
ImportExportToExcel
{
private
string
strConn ;
private
System.Windows.Forms.OpenFileDialog openFileDlg
=
new
System.Windows.Forms.OpenFileDialog();
private
System.Windows.Forms.SaveFileDialog saveFileDlg
=
new
System.Windows.Forms.SaveFileDialog();
public
ImportExportToExcel()
{
//
//
TODO: 在此处添加构造函数逻辑
//
this
.openFileDlg.DefaultExt
=
"
xls
"
;
this
.openFileDlg.Filter
=
"
Excel文件 (*.xls)|*.xls
"
;
this
.saveFileDlg.DefaultExt
=
"
xls
"
;
this
.saveFileDlg.Filter
=
"
Excel文件 (*.xls)|*.xls
"
;
}
从Excel文件导入到DataSet
#region
从Excel文件导入到DataSet
//
//
/ <summary>
//
//
/ 从Excel导入文件
//
//
/ </summary>
//
//
/ <param name="strExcelFileName">Excel文件名</param>
//
//
/ <returns>返回DataSet</returns>
//
public DataSet ImportFromExcel(string strExcelFileName)
//
{
//
return doImport(strExcelFileName);
//
}
/**/
///
<summary>
///
从选择的Excel文件导入
///
</summary>
///
<returns>
DataSet
</returns>
public
DataSet ImportFromExcel()
{
DataSet ds
=
new
DataSet();
if
(openFileDlg.ShowDialog()
==
System.Windows.Forms.DialogResult.OK)
ds
=
doImport(openFileDlg.FileName);
return
ds;
}
/**/
///
<summary>
///
从指定的Excel文件导入
///
</summary>
///
<param name="strFileName">
Excel文件名
</param>
///
<returns></returns>
public
DataSet ImportFromExcel(
string
strFileName)
{
DataSet ds
=
new
DataSet();
ds
=
doImport(strFileName);
return
ds;
}
/**/
///
<summary>
///
执行导入
///
</summary>
///
<param name="strFileName">
文件名
</param>
///
<returns>
DataSet
</returns>
private
DataSet doImport(
string
strFileName)
{
if
(strFileName
==
""
)
return
null
;
strConn
=
"
Provider=Microsoft.Jet.OLEDB.4.0;
"
+
"
Data Source=
"
+
strFileName
+
"
;
"
+
"
Extended Properties=Excel 8.0;
"
;
OleDbDataAdapter ExcelDA
=
new
OleDbDataAdapter(
"
SELECT * FROM [Sheet1$]
"
, strConn);
DataSet ExcelDs
=
new
DataSet();
try
{
ExcelDA.Fill(ExcelDs,
"
ExcelInfo
"
);
}
catch
(Exception err)
{
System.Console.WriteLine( err.ToString() );
}
return
ExcelDs;
}
#endregion
从DataSet到出到Excel
#region
从DataSet到出到Excel
/**/
///
<summary>
///
导出指定的Excel文件
///
</summary>
///
<param name="ds">
要导出的DataSet
</param>
///
<param name="strExcelFileName">
要导出的Excel文件名
</param>
public
void
ExportToExcel(DataSet ds,
string
strExcelFileName)
{
if
(ds.Tables.Count
==
0
||
strExcelFileName
==
""
)
return
;
doExport(ds,strExcelFileName);
}
/**/
///
<summary>
///
导出用户选择的Excel文件
///
</summary>
///
<param name="ds">
DataSet
</param>
public
void
ExportToExcel(DataSet ds)
{
if
(saveFileDlg.ShowDialog()
==
System.Windows.Forms.DialogResult.OK)
doExport(ds,saveFileDlg.FileName);
}
/**/
///
<summary>
///
执行导出
///
</summary>
///
<param name="ds">
要导出的DataSet
</param>
///
<param name="strExcelFileName">
要导出的文件名
</param>
private
void
doExport(DataSet ds,
string
strExcelFileName)
{
Excel.Application excel
=
new
Excel.Application();
//
Excel.Workbook obj=new Excel.WorkbookClass();
//
obj.SaveAs("c:\zn.xls",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);
int
rowIndex
=
1
;
int
colIndex
=
0
;
excel.Application.Workbooks.Add(
true
);
System.Data.DataTable table
=
ds.Tables[
0
] ;
foreach
(DataColumn col
in
table.Columns)
{
colIndex
++
;
excel.Cells[
1
,colIndex]
=
col.ColumnName;
}
foreach
(DataRow row
in
table.Rows)
{
rowIndex
++
;
colIndex
=
0
;
foreach
(DataColumn col
in
table.Columns)
{
colIndex
++
;
excel.Cells[rowIndex,colIndex]
=
row[col.ColumnName].ToString();
}
}
excel.Visible
=
false
;
excel.Sheets[
0
]
=
"
sss
"
;
excel.ActiveWorkbook.SaveAs(strExcelFileName
+
"
.XLS
"
,Excel.XlFileFormat.xlExcel9795,
null
,
null
,
false
,
false
,Excel.XlSaveAsAccessMode.xlNoChange,
null
,
null
,
null
,
null
);
//
wkbNew.SaveAs strBookName
//
excel.Save(strExcelFileName);
excel.Quit();
excel
=
null
;
GC.Collect();
//
垃圾回收
}
#endregion
从XML导入到Dataset
#region
从XML导入到Dataset
/**/
///
<summary>
///
从选择的XML文件导入
///
</summary>
///
<returns>
DataSet
</returns>
public
DataSet ImportFromXML()
{
DataSet ds
=
new
DataSet();
System.Windows.Forms.OpenFileDialog openFileDlg
=
new
System.Windows.Forms.OpenFileDialog();
openFileDlg.DefaultExt
=
"
xml
"
;
openFileDlg.Filter
=
"
xml文件 (*.xml)|*.xml
"
;
if
(openFileDlg.ShowDialog()
==
System.Windows.Forms.DialogResult.OK)
try
{ds.ReadXml(openFileDlg.FileName,System.Data.XmlReadMode.ReadSchema);}
catch
{}
return
ds;
}
/**/
///
<summary>
///
从指定的XML文件导入
///
</summary>
///
<param name="strFileName">
XML文件名
</param>
///
<returns></returns>
public
DataSet ImportFromXML(
string
strFileName)
{
if
(strFileName
==
""
)
return
null
;
DataSet ds
=
new
DataSet();
try
{ds.ReadXml(strFileName,System.Data.XmlReadMode.ReadSchema);}
catch
{}
return
ds;
}
#endregion
从DataSet导出到XML
#region
从DataSet导出到XML
/**/
///
<summary>
///
导出指定的XML文件
///
</summary>
///
<param name="ds">
要导出的DataSet
</param>
///
<param name="strXMLFileName">
要导出的XML文件名
</param>
public
void
ExportToXML(DataSet ds,
string
strXMLFileName)
{
if
(ds.Tables.Count
==
0
||
strXMLFileName
==
""
)
return
;
doExportXML(ds,strXMLFileName);
}
/**/
///
<summary>
///
导出用户选择的XML文件
///
</summary>
///
<param name="ds">
DataSet
</param>
public
void
ExportToXML(DataSet ds)
{
System.Windows.Forms.SaveFileDialog saveFileDlg
=
new
System.Windows.Forms.SaveFileDialog();
saveFileDlg.DefaultExt
=
"
xml
"
;
saveFileDlg.Filter
=
"
xml文件 (*.xml)|*.xml
"
;
if
(saveFileDlg.ShowDialog()
==
System.Windows.Forms.DialogResult.OK)
doExportXML(ds,saveFileDlg.FileName);
}
/**/
///
<summary>
///
执行导出
///
</summary>
///
<param name="ds">
要导出的DataSet
</param>
///
<param name="strExcelFileName">
要导出的XML文件名
</param>
private
void
doExportXML(DataSet ds,
string
strXMLFileName)
{
try
{ds.WriteXml(strXMLFileName,System.Data.XmlWriteMode.WriteSchema );}
catch
(Exception ex)
{System.Windows.Forms.MessageBox.Show(ex.Message,
"
Errol
"
) ;}
}
#endregion
}
查看全文
相关阅读:
LVS+keepalived DR模式配置 实现高可用集群
lamp+redis集群配置详解
Centos7.4+Mariadb集群-主从配置介绍
centos6.5 LVS-DR模式---全内网环境
Cacti安装使用&流量监控详解
纯CSS模拟安卓滑动开关
Java静态泛型方法使用例子-工具类
基于KaliLinux的GNOME美化
ArchLinux安装笔记
[笔记] SpringMVC+Mybatis搭建Web开发环境
原文地址:https://www.cnblogs.com/zpc870921/p/2765151.html
最新文章
截流法进行区间更新
匈牙利算法
大数模板--直接重载运算符
eclipse package,source folder,folder区别
Linux 第一天
mysql 排序
Linux 部署项目命令
Linux CentOS 7 JDK7 Tomcat7 的配置
Linux常用命令
Spring入门
热门文章
Java开发相关配置
JPA merge(obj) 方法
andriod前端传来经度 纬度 坐标 来查询数据库坐标周围500M内的类数据
GsonUtils.getGson().fromJson() 转泛型集合
使用Spring Data JPA查询时,报result returns more than one elements异常
@UniqueConstraint
Jenkins 持续集成实战
linux下jdk& tomcat安装详解
LINUX动态扩容
centos7.4下cmake源码安装
Copyright © 2011-2022 走看看