C#在没有Excel的情况下将.xls转换为.csv

Tim*_*Tim 4 c# csv asp.net

需要将.xls或.xlsx转换为.csv,而无需在C#/ ASP.net Web应用程序中使用Excel.该应用程序目前正在使用NPOI.dll的某些功能,但我没有看到关于该特定功能的NPOI的codeplex wiki上的任何信息.有没有人有什么建议?

谢谢

Bal*_*a R 5

有图书馆(Excel Data Reader,例如)可以让你阅读excel.一旦能够读取数据,写入csv应该很简单.


ami*_*t_g 5

ADODB.NET可用于将Excel文件视为数据源.

//string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;";
string ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0;";

ConnectionString = string.Format(ConnectionString, @"FullPathToExcelFile");

OleDbConnection conn = new OleDbConnection(ConnectionString);
conn.Open();

OleDbCommand cmdSelect = new OleDbCommand("SELECT * FROM [Sheet1$]", conn);
OleDbDataAdapter oleDBAdapter = new OleDbDataAdapter();
oleDBAdapter.SelectCommand = cmdSelect;

DataSet myDataset = new DataSet();
oleDBAdapter.Fill(myDataset);
conn.Close(); 

// Do whatever with data in myDataset including export to csv...
Run Code Online (Sandbox Code Playgroud)