次程序是web程序public static void ExportToExcel(DataSet ds, string fileStrName)
{
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.ApplicationClass(); if (excel == null) { //MessageBox.Show("Excel无法启动", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } int rowindex = 2; int colindex = 0; excel.Application.Workbooks.Add(true); System.Data.DataTable dt = ds.Tables[0]; Microsoft.Office.Interop.Excel.Range range = excel.get_Range(excel.Cells[1, 1], excel.Cells[1, dt.Columns .Count]); range.MergeCells = true; excel.ActiveCell.FormulaR1C1 =fileStrName; excel.ActiveCell.Font.Size = 18; excel.ActiveCell.Font.Bold = true; foreach (DataColumn col in dt.Columns) { colindex=colindex +1; excel.Cells[2, colindex] = col.ColumnName; } foreach (DataRow row in dt.Rows) { colindex = 0; rowindex++; foreach (DataColumn col in dt.Columns) { colindex++; excel.Cells[rowindex, colindex] = row[col.ColumnName].ToString(); } } excel.get_Range(excel.Cells[1, 1], excel.Cells[1, dt.Columns.Count]).Font.Bold = true; excel.get_Range(excel.Cells[1, 1], excel.Cells[rowindex, colindex]).Borders.LineStyle = 0; excel.Cells.EntireColumn.AutoFit(); excel.Cells.VerticalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; excel.Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; try {
excel.DisplayAlerts = false;
excel.Visible = false;
//excel.DisplayAlerts =false;
excel.AlertBeforeOverwriting = true;
excel.Save(fileStrName);
} catch { } finally { excel.Quit(); excel = null; } }
运行到 excel.Save(fileStrName);是总是弹出另存为对话框,怎么解决
{
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.ApplicationClass(); if (excel == null) { //MessageBox.Show("Excel无法启动", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } int rowindex = 2; int colindex = 0; excel.Application.Workbooks.Add(true); System.Data.DataTable dt = ds.Tables[0]; Microsoft.Office.Interop.Excel.Range range = excel.get_Range(excel.Cells[1, 1], excel.Cells[1, dt.Columns .Count]); range.MergeCells = true; excel.ActiveCell.FormulaR1C1 =fileStrName; excel.ActiveCell.Font.Size = 18; excel.ActiveCell.Font.Bold = true; foreach (DataColumn col in dt.Columns) { colindex=colindex +1; excel.Cells[2, colindex] = col.ColumnName; } foreach (DataRow row in dt.Rows) { colindex = 0; rowindex++; foreach (DataColumn col in dt.Columns) { colindex++; excel.Cells[rowindex, colindex] = row[col.ColumnName].ToString(); } } excel.get_Range(excel.Cells[1, 1], excel.Cells[1, dt.Columns.Count]).Font.Bold = true; excel.get_Range(excel.Cells[1, 1], excel.Cells[rowindex, colindex]).Borders.LineStyle = 0; excel.Cells.EntireColumn.AutoFit(); excel.Cells.VerticalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; excel.Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; try {
excel.DisplayAlerts = false;
excel.Visible = false;
//excel.DisplayAlerts =false;
excel.AlertBeforeOverwriting = true;
excel.Save(fileStrName);
} catch { } finally { excel.Quit(); excel = null; } }
运行到 excel.Save(fileStrName);是总是弹出另存为对话框,怎么解决
app.DisplayAlerts = false;
app.AlertBeforeOverwriting = false;
book.Close(false, miss, miss);
books.Close();
excel.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(book); System.Runtime.InteropServices.Marshal.ReleaseComObject(books);
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
GC.Collect();
app.DisplayAlerts = false;
app.AlertBeforeOverwriting = false;这个可以