zoukankan
html css js c++ java
ExcelHelper代码
using
System.Data.OleDb;
using
System;
using
System.IO;
using
System.Data;
using
System.Text;
using
System.Collections;
namespace
Wxy.Util
{
/**/
///
<summary>
///
ExcelHelper 的摘要说明。
///
</summary>
public
class
ExcelHelper
{
public
ExcelHelper()
{
//
//
TODO: 在此处添加构造函数逻辑
//
}
/**/
///
<summary>
///
读取Excel文档
///
</summary>
///
<param name="Path">
文件名称
</param>
///
<returns>
返回一个数据集
</returns>
public
static
DataSet ExcelToDS(
string
Path)
{
try
{
string
strConn
=
"
Provider=Microsoft.Jet.OLEDB.4.0;
"
+
"
Data Source=
"
+
Path
+
"
;
"
+
"
Extended Properties=Excel 8.0;
"
;
OleDbConnection conn
=
new
OleDbConnection(strConn);
conn.Open();
string
strExcel
=
""
;
OleDbDataAdapter myCommand
=
null
;
DataSet ds
=
null
;
strExcel
=
"
select * from [Sheet1$]
"
;
myCommand
=
new
OleDbDataAdapter(strExcel, strConn);
ds
=
new
DataSet();
myCommand.Fill(ds,
"
table1
"
);
return
ds;
}
catch
(System.Data.OleDb.OleDbException ex)
{
System.Diagnostics.Debug.WriteLine (
"
写入Excel发生错误:
"
+
ex.Message );
return
null
;
}
}
public
static
void
DataTableToExcel(System.Data.DataView dataview,
string
Path,Hashtable NameMap)
{
try
{
string
strConn
=
"
Provider=Microsoft.Jet.OLEDB.4.0;
"
+
"
Data Source=
"
+
Path
+
"
;
"
+
"
Extended Properties=Excel 8.0;
"
;
OleDbConnection conn
=
new
OleDbConnection(strConn);
conn.Open();
System.Data.OleDb.OleDbCommand cmd
=
new
OleDbCommand ();
cmd.Connection
=
conn;
string
strSql
=
string
.Empty ,strSql1
=
string
.Empty ;
int
i , j ;
for
( i
=
0
; i
<
dataview.Count ; i
++
)
{
strSql
=
"
INSERT INTO [sheet1$] (
"
;
strSql1
=
"
) values(
"
;
for
( j
=
0
; j
<
dataview.Table.Columns.Count ; j
++
)
{
if
( NameMap.ContainsKey( dataview.Table.Columns[j].ColumnName ) )
{
strSql
+=
NameMap[dataview.Table.Columns[j].ColumnName]
+
"
,
"
;
//
2414210
strSql1
+=
"
'
"
+
dataview[i][j].ToString()
+
"
',
"
;
}
}
try
{
if
( strSql.EndsWith(
"
,
"
) )
strSql
=
strSql.Substring(
0
,strSql.Length
-
1
) ;
if
( strSql1.EndsWith(
"
,
"
) )
strSql1
=
strSql1.Substring(
0
,strSql1.Length
-
1
) ;
strSql1
=
strSql1
+
"
)
"
;
strSql
=
strSql
+
strSql1 ;
cmd.CommandText
=
strSql ;
cmd.ExecuteNonQuery();
}
catch
(Exception ex)
{
System.Diagnostics.Debug.WriteLine (
"
写入Excel发生错误:
"
+
strSql
+
strSql1
+
ex.Message );
throw
new
Exception(strSql
+
ex.Message);
}
}
conn.Close ();
}
catch
(System.Data.OleDb.OleDbException ex)
{
System.Diagnostics.Debug.WriteLine (
"
写入Excel发生错误:
"
+
ex.Message );
}
}
public
static
void
DataTableToExcel(System.Data.DataView dataview,
string
Path)
{
try
{
string
strConn
=
"
Provider=Microsoft.Jet.OLEDB.4.0;
"
+
"
Data Source=
"
+
Path
+
"
;
"
+
"
Extended Properties=Excel 8.0;
"
;
OleDbConnection conn
=
new
OleDbConnection(strConn);
conn.Open();
System.Data.OleDb.OleDbCommand cmd
=
new
OleDbCommand ();
cmd.Connection
=
conn;
string
strSql
=
string
.Empty ,strSql1
=
string
.Empty ;
int
i , j ;
for
( i
=
0
; i
<
dataview.Count ; i
++
)
{
strSql
=
"
INSERT INTO [sheet1$] (
"
;
strSql1
=
"
) values(
"
;
for
( j
=
0
; j
<
dataview.Table.Columns.Count ; j
++
)
{
strSql
+=
dataview.Table.Columns[j].ColumnName
+
"
,
"
;
strSql1
+=
"
'
"
+
dataview[i][j].ToString()
+
"
',
"
;
}
//
try
{
if
( strSql.EndsWith(
"
,
"
) )
strSql
=
strSql.Substring(
0
,strSql.Length
-
1
) ;
if
( strSql1.EndsWith(
"
,
"
) )
strSql1
=
strSql1.Substring(
0
,strSql1.Length
-
1
) ;
strSql1
=
strSql1
+
"
)
"
;
strSql
=
strSql
+
strSql1 ;
cmd.CommandText
=
strSql ;
cmd.ExecuteNonQuery();
}
catch
(Exception ex)
{
System.Diagnostics.Debug.WriteLine (
"
写入Excel发生错误:
"
+
strSql
+
ex.Message );
throw
new
Exception(strSql
+
ex.Message);
}
}
conn.Close ();
}
catch
(System.Data.OleDb.OleDbException ex)
{
System.Diagnostics.Debug.WriteLine (
"
写入Excel发生错误:
"
+
ex.Message );
}
}
/**/
///
<summary>
///
写入Excel文档
///
</summary>
///
<param name="Path">
文件名称
</param>
public
bool
SaveFP2toExcel(
string
Path)
{
try
{
string
strConn
=
"
Provider=Microsoft.Jet.OLEDB.4.0;
"
+
"
Data Source=
"
+
Path
+
"
;
"
+
"
Extended Properties=Excel 8.0;
"
;
OleDbConnection conn
=
new
OleDbConnection(strConn);
conn.Open();
System.Data.OleDb.OleDbCommand cmd
=
new
OleDbCommand ();
cmd.Connection
=
conn;
cmd.CommandText
=
"
UPDATE [sheet1$] SET 姓名='2005-01-01' WHERE 工号='日期'
"
;
cmd.ExecuteNonQuery ();
/**/
/*
for(int i=0;i<fp2.Sheets [0].RowCount -1;i++)
{
if(fp2.Sheets [0].Cells[i,0].Text!="")
{
cmd.CommandText ="INSERT INTO [sheet1$] (工号,姓名,部门,职务,日期,时间) VALUES('"+fp2.Sheets [0].Cells[i,0].Text+ "','"+
fp2.Sheets [0].Cells[i,1].Text+"','"+fp2.Sheets [0].Cells[i,2].Text+"','"+fp2.Sheets [0].Cells[i,3].Text+
"','"+fp2.Sheets [0].Cells[i,4].Text+"','"+fp2.Sheets [0].Cells[i,5].Text+"')";
cmd.ExecuteNonQuery ();
}
}
*/
conn.Close ();
return
true
;
}
catch
(System.Data.OleDb.OleDbException ex)
{
System.Diagnostics.Debug.WriteLine (
"
写入Excel发生错误:
"
+
ex.Message );
}
return
false
;
}
}
}
以下文章中用到的工具类
发布一个Excel导入数据到GridView的类
欢迎光临:
http://shiningrise.cnblogs.com
查看全文
相关阅读:
【C#】C#8.0常用新特性
【Docker】Asp.net core在docker容器中的端口问题
【gRPC】ProtoBuf 语言快速学习指南
【日常排雷】 .Net core 生产环境appsetting读取失败
【gRPC】 在.Net core中使用gRPC
raspbian buster阿里镜像
管道通信
关于utf8mb4的使用
ef core数据迁移的一点小感悟
windows 端口转发
原文地址:https://www.cnblogs.com/shiningrise/p/817840.html
最新文章
简述linux同步与异步、阻塞与非阻塞概念以及五种IO模型
webpack-dev-server配置
原生封装ajax方法
Vue2.0的网络请求库Axios
vue中 如何使用less
vue 构建项目简单流程
环境配置
gulp操作
git操作步骤
Javascript结合css实现网页换肤功能
热门文章
cookie 操作
Git打标签与版本控制规范
Cookie防篡改机制
使用nginx缓存服务器上的静态文件
尤达表达式
JavaScript两个变量交换值(不使用临时变量)
JavaScript函数节流和函数防抖之间的区别
【One by One系列】IdentityServer4(二)使用客户端凭证(Client Credentials)保护API资源
【One by One系列】IdentityServer4(一)OAuth2.0与OpenID Connect 1.0
【One by one系列】微服务:一步步开发与调试容器化的 .NET 应用程序
Copyright © 2011-2022 走看看