从Excel里导入数据
时间:2010-10-18 来源:gdutlab624
以下代码中的 接口 可以从Excel里面导入数据。支持 .xls || .xlsx 格式的文件。
接口 && 返回的xmldocument格式如下:
代码//此接口可连接 xls 和 xlsx 为后缀的 Excel
//sFullPath 为 文件路径名
//sTable 为 表名 一般是 Sheet1、Sheet2、Sheet3
public XmlDocument getListForExcel(string sFullPath, string sTable)
{
try
{
//此连接可以操作.xls与.xlsx文件
string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + sFullPath + ";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = string.Format(" select * from [{0}$] ", sTable);
OleDbDataAdapter da = new OleDbDataAdapter(strExcel, conn);
DataSet ds = new DataSet();
da.Fill(ds, sTable);
//BuildXml
XmlDocument doc = new XmlDocument();
MemoryStream mStrm = new MemoryStream();
StreamReader sRead = new StreamReader(mStrm);
ds.WriteXml(mStrm, XmlWriteMode.WriteSchema);
mStrm.Seek(0, SeekOrigin.Begin);
doc.Load(sRead);
conn.Close();
return doc;
}
catch
{
return null;
}
}
代码
1 <?xml version="1.0" encoding="utf-8" ?>
2 - <NewDataSet>
3 + <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
4 - <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
5 - <xs:complexType>
6 - <xs:choice minOccurs="0" maxOccurs="unbounded">
7 - <xs:element name="Sheet1">
8 - <xs:complexType>
9 - <xs:sequence>
10 <xs:element name="F1" type="xs:string" minOccurs="0" />
11 <xs:element name="F2" type="xs:string" minOccurs="0" />
12 </xs:sequence>
13 </xs:complexType>
14 </xs:element>
15 </xs:choice>
16 </xs:complexType>
17 </xs:element>
18 </xs:schema>
19 - <Sheet1>
20 <F1>ID</F1>
21 <F2>sName</F2>
22 </Sheet1>
23 - <Sheet1>
24 <F1>1</F1>
25 <F2>4</F2>
26 </Sheet1>
27 - <Sheet1>
28 <F1>2</F1>
29 <F2>5</F2>
30 </Sheet1>
31 - <Sheet1>
32 <F1>3</F1>
33 <F2>6</F2>
34 </Sheet1>
35 </NewDataSet>
相关阅读 更多 +