使用 NPOI 将 .xlsx 文件转换为 html
Convert .xlsx file to html using NPOI
我想使用 NPOI 将 .xlsx 文件转换为 html。这可能吗?我知道,可以使用 NPOI 将 xls 转换为 html。但不确定 NPOI 是否也提供将 .xlsx 文件转换为 html 的选项。谢谢
您可以使用 ExcelToHtmlConverter
。它有方法 ProcessWorkbook
接受 IWorkbook
作为参数。因此它可用于转换 HSSFWorkbook
(xls) 或 XSSFWorkbook
(xlsx)。
public void ConvertXlsxToHtml()
{
XSSFWorkbook xssfwb;
var fileName = @"c:\temp\test.xlsx";
using (FileStream file = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
xssfwb = new XSSFWorkbook(file);
ExcelToHtmlConverter excelToHtmlConverter = new ExcelToHtmlConverter();
//set output parameter
excelToHtmlConverter.OutputColumnHeaders = false;
excelToHtmlConverter.OutputHiddenColumns = true;
excelToHtmlConverter.OutputHiddenRows = true;
excelToHtmlConverter.OutputLeadingSpacesAsNonBreaking = false;
excelToHtmlConverter.OutputRowNumbers = false;
excelToHtmlConverter.UseDivsToSpan = true;
//process the excel file
excelToHtmlConverter.ProcessWorkbook(xssfwb);
//output the html file
excelToHtmlConverter.Document.Save(Path.ChangeExtension(fileName, "html"));
}
}
我想使用 NPOI 将 .xlsx 文件转换为 html。这可能吗?我知道,可以使用 NPOI 将 xls 转换为 html。但不确定 NPOI 是否也提供将 .xlsx 文件转换为 html 的选项。谢谢
您可以使用 ExcelToHtmlConverter
。它有方法 ProcessWorkbook
接受 IWorkbook
作为参数。因此它可用于转换 HSSFWorkbook
(xls) 或 XSSFWorkbook
(xlsx)。
public void ConvertXlsxToHtml()
{
XSSFWorkbook xssfwb;
var fileName = @"c:\temp\test.xlsx";
using (FileStream file = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
xssfwb = new XSSFWorkbook(file);
ExcelToHtmlConverter excelToHtmlConverter = new ExcelToHtmlConverter();
//set output parameter
excelToHtmlConverter.OutputColumnHeaders = false;
excelToHtmlConverter.OutputHiddenColumns = true;
excelToHtmlConverter.OutputHiddenRows = true;
excelToHtmlConverter.OutputLeadingSpacesAsNonBreaking = false;
excelToHtmlConverter.OutputRowNumbers = false;
excelToHtmlConverter.UseDivsToSpan = true;
//process the excel file
excelToHtmlConverter.ProcessWorkbook(xssfwb);
//output the html file
excelToHtmlConverter.Document.Save(Path.ChangeExtension(fileName, "html"));
}
}