Note that there are some explanatory texts on larger screens.

plurals
  1. POExcel activity is viewable
    primarykey
    data
    text
    <p>I'm using the following code to generate an Excel file using Microsoft.Interop.Excel. The problem is that I can actually see the workbook generation, when the code is executed, an excel document is open on the screen and the doc starts filling out with data. Can this be done somehow in the background?</p> <p>Thanks</p> <pre><code>Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); xlApp.Visible = false; if (xlApp == null) { MessageBox.Show("EXCEL could not be started. Check that your office installation and project references are correct."); return false; } xlApp.Visible = true; Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); try { if (details != false) { //Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); wb.Worksheets.Add(); Worksheet detailsWs = (Worksheet)wb.Worksheets[2]; for (int i = 0; i &lt; dt.Columns.Count; i++) { detailsWs.Cells[1, i + 1] = dt.Columns[i].Caption; } } Worksheet ws = (Worksheet)wb.Worksheets[1]; if (ws == null) { MessageBox.Show("Worksheet could not be created. Check that your office installation and project references are correct."); } for (int i = 0; i &lt; dt.Columns.Count; i++) { ws.Cells[1, i + 1] = dt.Columns[i].Caption; } for (int i = 0; i &lt; dt.Rows.Count; i++) { for (int j = 0; j &lt; dt.Columns.Count; j++) { ws.Cells[i + 2, j + 1] = dt.Rows[i].ItemArray[j]; } worker.ReportProgress((i * 100) / dt.Rows.Count); } wb.SaveAs(filename, XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlShared, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); wb.Close(true, filename); return true; } catch (Exception ex) { throw ex; } finally { // Cleanup GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); if (wb != null) { wb.Close(Type.Missing, Type.Missing, Type.Missing); Marshal.FinalReleaseComObject(wb); } if (xlApp != null) { xlApp.Quit(); Marshal.FinalReleaseComObject(xlApp); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload