Excel 如何通过编程将.xls和.csv文件转换为.xlsx?
是否有一种编程解决方案不涉及在服务器上安装Office 更新: 这个解决方案将部署在.Net商店中,因此目前还没有PHP和Java方法(尽管我对库本身印象深刻)Excel 如何通过编程将.xls和.csv文件转换为.xlsx?,excel,Excel,是否有一种编程解决方案不涉及在服务器上安装Office 更新: 这个解决方案将部署在.Net商店中,因此目前还没有PHP和Java方法(尽管我对库本身印象深刻) 我们将接收csv、.xls和.xlsx格式的文档,这些文档需要进行解析,并将其数据推送到数据库中。我们计划将OpenXMLSDK用于所有解析功能,并希望只对一种文件类型进行操作。您可以使用Java的来实现这一点 HSSF是POI项目的Excel'97(-2007)文件格式的纯Java实现 XSSF是POI项目的Excel 2007 OO
我们将接收csv、.xls和.xlsx格式的文档,这些文档需要进行解析,并将其数据推送到数据库中。我们计划将OpenXMLSDK用于所有解析功能,并希望只对一种文件类型进行操作。您可以使用Java的来实现这一点 HSSF是POI项目的Excel'97(-2007)文件格式的纯Java实现 XSSF是POI项目的Excel 2007 OOXML(.xlsx)文件格式的纯Java实现 我用它来读取
.xls
和.xlsx
文件的完整组合,并且总是输出.xlsx
对于.csv
文件,请使用导入,并使用上面的Apache POI库导出
Super Csv的主要动机是成为Java上最好、最快、最程序员友好的免费Csv包
如果您想要一个PHP解决方案而不是java,或者使用PHPExcel(),并且可以用于解析列
object columnValue = ws.Cells[i, ColIndex, i, ColIndex].Value; // get Specific cell.
您可以对.csv、xlsx、.txt文件使用以下方法。
public yourReturnType compute()
{
#region .XLSX Section
if (FilePath.FullName.Contains(".xlsx") || FilePath.FullName.Contains(".xls"))
{
// Open and read the XlSX file.
using (var package = new ExcelPackage(FilePath))
{
ExcelWorkbook wb = package.Workbook; // Get the work book in the file
if (wb != null)
{
if (wb.Worksheets.Count > 0)
{
ExcelWorksheet ws = wb.Worksheets.First(); // Get the first worksheet
yourParseCode(ws);
}
} // if End.
} // using end.
}
#endregion
#region .CSV Section
if (FilePath.FullName.Contains(".csv") || FilePath.FullName.Contains(".txt"))
{
CSVParser c = new CSVParser(FilePath);
DataTable dt = c.ReadCSVFile();
using (ExcelPackage pck = new ExcelPackage())
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("temporary");
ws.Cells["A1"].LoadFromDataTable(dt, true);
yourParseCode (ws);
////pck.Save(); // no need to save this temporary sheet.
}
}
#endregion
return (yourReturnType );
}
对于csv文件,我建议将csv文件读入datatable,并使用EPPPLUS的.FromDataTable方法将其转换为xlsx文件。 我工作的很好,速度也很快。
对于读取xls文件,据我所知,没有免费的实现:(这些问题对您有帮助吗?最好的答案取决于您打算使用或熟悉的编程语言。我也要提到它们。这也可能有助于您更多地了解上下文。它是客户端应用程序?Swing?还是Web应用程序?JSP/Servlet或PHP?等等。