使用Spire.XLS

时间:2018-10-07 11:58:55

标签: excel openxml openxml-sdk spire.xls

我具有带有 XLS 文件,可以将其转换为OpenXML格式,我正在使用 Spire.XLS 并将文件转换为 XLSM 格式。然后使用 OpenXML SDK XLSM 文件转换为 XLSX 格式,如下所示:

string lstrOpenXMLXLSMIPDTemplatePath = pstrIPDTemplatePath.Replace(".xls", ".xlsm");

Spire.Xls.Workbook lobjDSTemplateWorkbook = new Spire.Xls.Workbook();
lobjDSTemplateWorkbook.DisableMacrosStart = false;
lobjDSTemplateWorkbook.LoadFromFile(pstrIPDTemplatePath);
lobjDSTemplateWorkbook.SaveToFile(lstrOpenXMLXLSMIPDTemplatePath, Spire.Xls.ExcelVersion.Version2013);

pstrOpenXMLIPDTemplatePath = lstrOpenXMLXLSMIPDTemplatePath.Replace(".xlsm", ".xlsx");

using (var XLSMStream = File.OpenRead(lstrOpenXMLXLSMIPDTemplatePath))
using (var XLSXStream = new MemoryStream())
{
    XLSMStream.CopyTo(XLSXStream);
    using (var doc = SpreadsheetDocument.Open(XLSXStream, true))
    {
        doc.DeletePartsRecursivelyOfType<VbaDataPart>();
        doc.DeletePartsRecursivelyOfType<VbaProjectPart>();
        doc.ChangeDocumentType(DocumentFormat.OpenXml.SpreadsheetDocumentType.Workbook);
    }
    File.WriteAllBytes(pstrOpenXMLIPDTemplatePath, XLSXStream.ToArray());
}

是否可以使用 Spire.XLS Dll 其他方式将文件直接转换为 XLSX 格式。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用Spire.XLS dll通过以下代码直接将XLS转换为XLSX格式:

Workbook workbook = new Workbook();

workbook.LoadFromFile("input.xls");

//Set the version to Excel 2007 or above
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2007);