C# Excel工作表到SQL表
我得到了从UI上传的数据的Excel工作表,我需要通过WCF服务访问该工作表,并将其中包含的数据插入到SQL表中 请指导如何做到这一点C# Excel工作表到SQL表,c#,sql,excel,wcf,C#,Sql,Excel,Wcf,我得到了从UI上传的数据的Excel工作表,我需要通过WCF服务访问该工作表,并将其中包含的数据插入到SQL表中 请指导如何做到这一点 我在通过WCF服务读取Excel工作表时面临挑战。我使用以下代码从本地驱动器读取Excel工作表。将Source属性更改为excel工作表的FTP位置 string con = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\MyData.xlsx;" + @"Ex
我在通过WCF服务读取Excel工作表时面临挑战。我使用以下代码从本地驱动器读取Excel工作表。将Source属性更改为excel工作表的FTP位置
string con = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\MyData.xlsx;" +
@"Extended Properties='Excel 8.0;HDR=Yes;'";
using (OleDbConnection connection = new OleDbConnection(con))
{
connection.Open();
OleDbCommand command = new OleDbCommand("select * from [Sheet1$]", connection);
using (OleDbDataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
// Do your things here
}
}
}
注意:.xls有数据限制,而.xlsx支持工作表中的更多数据行。如果要读取.xlsx文件,则需要安装Microsoft Office Access数据库引擎2007。事实上,无法通过WCF服务读取excel数据。但是你可以把这些方法分类
string UploadedFilePath = FullPathOfExcelOnTheServer;
string ExcelConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + UploadedFilePath + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1;FMT=Delimited\"";
using (OleDbConnection oledbConnExcel = new OleDbConnection(ExcelConn))
{
oledbConnExcel.Open();
using (OleDbDataAdapter oledbAdapterExcel = new OleDbDataAdapter("SELECT * from [" + SheetName + "$]", oledbConnExcel))
{
using (DataTable dtblSheetData = new DataTable())
{
try
{
oledbAdapterExcel.Fill(dtblSheetData);
}
catch (Exception lexQuery)
{
}
}
}
oledbConnExcel.Close();
}
你可以:
[KnowsTypeAtribbute]
。然后可以调用参数类型为Excel类型(工作表或其他)的WCF服务。可以使用某种类型的OpenXml dll(但我不知道是sheet还是其他类型是可序列化的。需要可序列化的)没有SQL数据库,SQL只是结构化查询语言,许多数据库系统都使用这种语言,但它不是数据库产品。很多东西都是特定于供应商的,所以我们确实需要知道您使用的是什么具体的数据库系统(以及哪个版本)。。。。(请相应地更新标记-使用
oracle
,db2
,sqlserver
,mysql
,postgresql
或其他任何您可能使用的标记)客户端或服务器端是否有excel文件?@blogprogramisty.net我客户端有excel文件