zoukankan
html css js c++ java
EXCEL常用的类
using
System;
using
System.Data;
using
System.Data.OleDb;
namespace
my
{
/**/
///
<summary>
///
Excel 的摘要说明。
///
</summary>
public
class
Excel
{
public
Excel()
{
//
//
TODO: 在此处添加构造函数逻辑
//
}
public
static
DataSet SelectExcel_AllSheet1(
string
path,
string
condition)
{
string
strConn;
strConn
=
"
Provider=Microsoft.Jet.OLEDB.4.0;
"
+
"
Data Source=
"
+
path
+
"
;
"
+
"
Extended Properties=Excel 8.0;
"
;
OleDbConnection conn
=
new
OleDbConnection(strConn);
OleDbDataAdapter myCommand
=
new
OleDbDataAdapter(
"
select * FROM [Sheet1$]
"
+
condition, strConn);
DataSet myDataSet
=
new
DataSet();
myCommand.Fill(myDataSet);
return
myDataSet;
}
public
static
DataSet SelectExcel(
string
path,
string
sqltext)
{
string
strConn;
strConn
=
"
Provider=Microsoft.Jet.OLEDB.4.0;
"
+
"
Data Source=
"
+
path
+
"
;
"
+
"
Extended Properties=Excel 8.0;
"
;
OleDbConnection conn
=
new
OleDbConnection(strConn);
OleDbDataAdapter myCommand
=
new
OleDbDataAdapter(sqltext, strConn);
DataSet myDataSet
=
new
DataSet();
myCommand.Fill(myDataSet);
return
myDataSet;
}
//
获取EXCEL文件的表名
public
static
string
[] ObtainTableName(
string
path)
{
string
strConn
=
"
Provider=Microsoft.Jet.OLEDB.4.0;
"
+
"
Data Source=
"
+
path
+
"
;Extended Properties=Excel 8.0;
"
;
OleDbConnection conn
=
new
OleDbConnection(strConn);
conn.Open();
DataTable dt
=
conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
null
);
int
i
=
dt.Rows.Count;
string
[] strTableName
=
new
string
[i];
for
(
int
s
=
0
;s
<
i;s
++
)
{
strTableName[s]
=
dt.Rows[s][
"
TABLE_NAME
"
].ToString();
}
return
strTableName;
}
public
static
bool
DataSetToExcelText(DataSet ds)
{
bool
result
=
false
;
if
(ds.Tables[
0
]
!=
null
)
{
string
filename
=
OpenSaveDialog();
if
((filename
!=
null
)
&&
(filename
!=
""
))
{
StreamWriter sw
=
new
StreamWriter(filename,
false
,Encoding.Unicode);
try
{
//
StreamWriter sw=new StreamWriter(filename,false,Encoding.Unicode);
int
i
=
0
;
int
j
=
0
;
j
=
ds.Tables[
0
].Columns.Count;
//
文件列头
string
s
=
""
;
while
(i
<
j)
{
s
=
s
+
ds.Tables[
0
].Columns[i].ColumnName
+
"
\t
"
;
i
=
i
+
1
;
}
sw.WriteLine(s);
//
写数据
foreach
(DataRow r
in
ds.Tables[
0
].Rows )
{
i
=
0
;
s
=
""
;
while
(i
<
j)
{
if
(r[i].ToString().Trim()
==
""
)
{
s
=
s
+
"
"
+
"
\t
"
;
}
else
{
s
=
s
+
r[i].ToString().Trim()
+
"
\t
"
;
}
i
=
i
+
1
;
}
sw.WriteLine(s);
}
result
=
true
;
MessageBox.Show(
"
导出成功!
"
);
}
catch
{
result
=
false
;
MessageBox.Show(
"
导出失败!
"
);
}
finally
{
sw.Close();
}
}
}
return
result;
}
public
static
bool
DataSetToExcelText(DataTable dt)
{
bool
result
=
false
;
if
(dt
!=
null
)
{
string
filename
=
OpenSaveDialog();
if
((filename
!=
null
)
&&
(filename
!=
""
))
{
StreamWriter sw
=
new
StreamWriter(filename,
false
,Encoding.Unicode);
try
{
//
StreamWriter sw=new StreamWriter(filename,false,Encoding.Unicode);
int
i
=
0
;
int
j
=
0
;
j
=
dt.Columns.Count;
//
文件列头
string
s
=
""
;
while
(i
<
j)
{
s
=
s
+
dt.Columns[i].ColumnName
+
"
\t
"
;
i
=
i
+
1
;
}
sw.WriteLine(s);
//
写数据
foreach
(DataRow r
in
dt.Rows )
{
i
=
0
;
s
=
""
;
while
(i
<
j)
{
if
(r[i].ToString().Trim()
==
""
)
{
s
=
s
+
"
"
+
"
\t
"
;
}
else
{
s
=
s
+
r[i].ToString().Trim()
+
"
\t
"
;
}
i
=
i
+
1
;
}
sw.WriteLine(s);
}
result
=
true
;
MessageBox.Show(
"
导出成功!
"
);
}
catch
{
result
=
false
;
MessageBox.Show(
"
导出失败!
"
);
}
finally
{
sw.Close();
}
}
}
return
result;
}
private
static
string
OpenSaveDialog()
{
string
result
=
""
;
SaveFileDialog sfd
=
new
SaveFileDialog();
sfd.Filter
=
"
Excel文件(*.xls)|*.xls|文本文件(*.txt)|*.txt
"
;
sfd.OverwritePrompt
=
true
;
if
(sfd.ShowDialog()
==
DialogResult.OK)
{
result
=
sfd.FileName;
}
return
result;
}
}
}
查看全文
相关阅读:
贪心算法
分治法
递归法
查找二 树与图的搜索
(转载)查找三 哈希表的查找
(转载)查找一 线性表的查找
4.写出完整版的strcpy函数
3.strcpy使用注意(3)
2.strcpy使用注意(2)
1.strcpy使用注意
原文地址:https://www.cnblogs.com/madgoat/p/626810.html
最新文章
Nosql
Redis问题补充
缓存问题
Redis集群
Redis高级数据类型
服务器配置redis.conf
sqlserver导出表结构至Excel
Mysql安装流程
C# 可空日期类型
程序包管理器控制台的使用
热门文章
Net Core + EF Core + Sql Server
To change the IDENTITY property of a column, the column needs to be dropped and recreated.
VS2019下载
JS IP格式验证
C# Excel导入
C# JS实现文件下载
scp等不需要存入know_host
linux多路径(multipath)
MSDOS(MBR)和GPT磁盘分区表
postgresql源码安装
Copyright © 2011-2022 走看看