如何在c#中将xls文件转换为xlsm

时间:2014-08-19 10:32:06

标签: c# openxml xls xlsm closedxml

我正在使用ClosedXML实用程序进行excel操作。它仅支持在Office 2007上创建的文件。我有一个xls文件,需要转换为xlms(启用宏)。如下所示的简单复制无效。

string oldFile = @"C:\Files\xls.xls";
string newFile = @"C:\Files\xlsnew.xlsm";

File.Copy(xls_file,xlsm_file);

我也使用了以下代码

    byte[] byteArray = File.ReadAllBytes(oldFile);
    using (MemoryStream stream = new MemoryStream())
    {
        stream.Write(byteArray, 0, (int)byteArray.Length);
        using (SpreadsheetDocument spreadsheetDoc = SpreadsheetDocument.Open(stream, true))
        {
            // Change from template type to workbook type
            spreadsheetDoc.ChangeDocumentType(SpreadsheetDocumentType.MacroEnabledWorkbook);
        }
        File.WriteAllBytes(newFile, stream.ToArray());
    }

请提供有用的解决方案。

提前致谢。

0 个答案:

没有答案