发布网友 发布时间:2022-04-20 07:30
共1个回答
热心网友 时间:2024-03-23 08:04
public
static
DataSet
CreateDataSource()
{
OpenFileDialog
dialog
=
new
OpenFileDialog();
if
(dialog.ShowDialog()
!=
DialogResult.OK)
return
null;
string
filename
=
dialog.FileName;
string
strConn;
strConn
=
"Provider=Microsoft.Jet.OLEDB.4.0;"
+
"Data
Source="
+
filename
+
";Extended
Properties
=Excel
8.0;";
try
{
OleDbConnection
conn
=
new
OleDbConnection(strConn);
OleDbDataAdapter
myCommand
=
new
OleDbDataAdapter("SELECT
*
FROM
[数据$]",
strConn);
DataSet
myDataSet
=
new
DataSet();
myCommand.Fill(myDataSet);
return
myDataSet;
}
catch
(
Exception
ex
)
{
MessageBox
.Show("打开文件时出错:"
+
ex.Message);
return
null;
}
}
//sql
语句说明
"SELECT
*
FROM
[数据$]",其中
“数据”表示excel中sheet的名称,
如:excel文件中有个叫"Sheet1"的标签页,
SQL语句
为
SELECT
*
FROM
[Sheet1$]",excel的列会自动转化成
DataTable
的列,支持中文,会自动判断数据行。
每次只能打开一个sheet。
有了上面的数据,你再foreach
插入到SQL中去