我有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());
}是否有任何文件可以直接转换为XLSX格式与,Spire.XLS,Dll,或,以其他方式。
发布于 2018-10-09 02:11:32
是的,您可以使用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);https://stackoverflow.com/questions/52688272
复制相似问题