如何在没有消息的情况下保存/覆盖现有的 Excel 文件

Posted

技术标签:

【中文标题】如何在没有消息的情况下保存/覆盖现有的 Excel 文件【英文标题】:How to Save/Overwrite existing Excel file without message 【发布时间】:2014-09-29 01:17:45 【问题描述】:

我需要从视图列表中导出 excel,我使用了这段代码

Excel.Application app = new Excel.Application();
            //app.Visible = true;
            Excel.Workbook wb = app.Workbooks.Add(1);
            Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];

            int i = 1;
            int i2 = 1;
            foreach (ListViewItem lvi in lvLogs.Items)
            
                i = 1;
                foreach (ListViewItem.ListViewSubItem lvs in lvi.SubItems)
                
                    ws.Cells[i2, i] = lvs.Text;
                    i++;
                
                i2++;
            


            wb.SaveAs(@"C:\1\myExcel.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing,
                        Type.Missing, Type.Missing);
            wb.Close(false, Type.Missing, Type.Missing);

            app.Quit();

        

现在我需要在没有任何消息的情况下覆盖 excel 文件,并且我需要每 10 分钟执行一次此操作。

【问题讨论】:

【参考方案1】:

试试这个。

       app.DisplayAlerts = false;
        wb.SaveAs(@"C:\1\myExcel.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing,
                    Type.Missing, Type.Missing);
        workbook.Close();
        app.Quit();        

【讨论】:

谢谢它现在可以正常工作了另一件事我需要立即运行这个应用程序我打开它就像在 asp.net web 表单中的“页面加载”一样!!!!没有我按任何按钮..只需打开它并每 10 分钟运行一次 ???? 也可以使用wb.SaveAs(Filename: @"C:\1\myExcel.xls", AccessMode: XlSaveAsAccessMode.xlNoChange);明确指定参数。

以上是关于如何在没有消息的情况下保存/覆盖现有的 Excel 文件的主要内容,如果未能解决你的问题,请参考以下文章

无法在不覆盖的情况下将 R 数据框附加到现有 Excel 中

如何使用 Pandas 在现有的 excel 文件中保存新工作表?

如何在不覆盖的情况下连续打开对话框

如何在没有 GUI 通知的情况下保存 excel 文件?

在没有为 Wpf 产品安装 MS Office 的情况下导出到 Excel

pandas如何在现有的Excel表格上新建工作表并添加dataframe