0

我使用Microsoft.Office.Interop.Excel; 我尝试使用以下方法保存兼容 97-2003 的 XLS

    private void CreationFichier(_Worksheet template, int nom)
    {
        _Workbook fichierCree = _excel.Workbooks.Add();
        fichierCree.DoNotPromptForConvert = true;
        fichierCree.CheckCompatibility = false;

        var feuilleActiveClasseurCree = (_Worksheet)fichierCree.Sheets[1];
        string nomFichier = (nom - 4).ToString() + ".xls";
        label3.Text = "Creation du fichier "+nomFichier+" ...";
        progressBar1.Value++;
        template.Copy(feuilleActiveClasseurCree);

        fichierCree.SaveAs(_folderdestination.SelectedPath + "\\" + nomFichier, XlFileFormat.xlExcel8);
        fichierCree.Close();
    }

但这会创建一个用于检查兼容性的弹出窗口 - 我不想要这个弹出窗口。

http://i.stack.imgur.com/8zop9.png

4

1 回答 1

0

我没有找到仅通过代码解决此问题的方法,但我确实找到了适合我的解决方案。就我而言,我每次都打开与模板相同的文件并将其另存为新文件。使用 Office.Interop.Excel._Application.Visible = true 我可以更好地看到正在发生的事情。我只是从我的桌面 Excel 中取出主模板,并在再次选中“不再为此框显示此对话框”后重新保存它。现在,当我使用该文件作为模板时,它不再会通过询问是否保存兼容性的对话框来中断我的程序。

此外,为了防止任何文件访问问题,我对模板执行 System.IO.File.Copy,然后打开并保存我的新文件。

这是一个迟到的答案,可能无法解决您的具体问题。我希望它对现在正在寻找解决方案的人有所帮助。

于 2014-07-25T19:59:50.223 回答