Jak odczytać pliki xls i xlsx przy użyciu C# w formacie OpenXML Bez użycia połączenia OLEDB. Szukam procedury w formacie Open XML.Jak odczytać pliki xls i xlsx za pomocą C#
Poniżej znajduje się kod, w którym użyłem preoksu OLEDB. Ale szukam formatu OpenXML.
public static DataTable ConvretExcelToDataTable(string FilePath)
{
string strConn = string.Empty;
if (FilePath.Trim().EndsWith(".xlsx"))
{
strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", FilePath);
}
else if (FilePath.Trim().EndsWith(".xls"))
{
strConn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";", FilePath);
}
OleDbConnection conn = null;
OleDbCommand cmd = null;
OleDbDataAdapter da = null;
DataTable dt = new DataTable();
try
{
conn = new OleDbConnection(strConn);
conn.Open();
cmd = new OleDbCommand(@"SELECT * FROM [Sheet1$]", conn);
cmd.CommandType = CommandType.Text;
da = new OleDbDataAdapter(cmd);
da.Fill(dt);
}
catch (Exception exc)
{
Console.WriteLine(exc.ToString());
Console.ReadLine();
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
conn.Dispose();
cmd.Dispose();
da.Dispose();
}
return dt;
}
Wymaganie jest wdrożenie powyższej konwersji w formacie OpenXML. Dzięki.
XLS to nie OpenXML. Dlatego nie można używać zestawu SDK OpenXML do odczytywania plików XLS. Możesz go używać tylko dla plików XLSX. –
Odpowiedziałem na podobne pytanie ostatnio [tutaj] (http://stackoverflow.com/a/12746187/969613) – JMK
Ktoś proszę wyjaśnić moje wątpliwości w powyższym komentarzu. Dzięki. –