将excel xlsm保存到xls

时间:2018-01-23 20:56:11

标签: c# node.js excel excel-vba vba

我需要在Node JS中将JSON数据导出到XLS预定义模板。我没有找到任何将数据导出到XLS的好选项。因此,我首先使用CloseXML库将JSON数据导出到XLSM模板。 (从Nodejs调用C#console app(exe)来执行此操作)。有用!现在我想将此XLSM文档转换为XLS。

我尝试使用以下办公室API来“保存AS'我的C#控制台APP中的XLSM到XLS。但它不起作用。给出运行时错误。

for (int i = 0; i < 9; i++)
{ 
    if (ValidMove(i, gameState) {
        char[] clone = new char[gameState.Length];
        gameState.CopyTo(clone, 0);
        clone[i] = 'X';
        double score = MinPlay(clone);
        if (score > bestScore)
        {
            bestScore = score;
        }
    }
}
return bestScore;

有什么建议吗?

如果不是办公室API,那么任何其他更好的方式来实现XLSM - &gt; XLS。

1 个答案:

答案 0 :(得分:0)

以下是有效的最终代码!谢谢@Tim Williams

        var excelApplication = new Excel.Application();
        var workbooks = excelApplication.Workbooks;
        var workbook = workbooks.Open("C:\\Temp\\Book1.xlsm"); // Fixed
        workbook.SaveAs("C:\\Temp\\test1.xls", Excel.XlFileFormat.xlExcel8);

        workbook.Close();
        workbooks.Close();
        excelApplication.Quit();

        Marshal.ReleaseComObject(workbook);
        Marshal.ReleaseComObject(workbooks);
        Marshal.ReleaseComObject(excelApplication);