private void MenuItem_Click(object sender, RoutedEventArgs e) { System.Data.DataTable datatable = new System.Data.DataTable(); Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application(); try { //lz 路径选择 excelApp.Visible = false; Workbook excelWB = excelApp.Workbooks.Add(System.Type.Missing); Worksheet excelWS = (Worksheet)excelWB.Worksheets[1]; Range celulas = null; celulas = excelWS.get_Range("A1", System.Type.Missing); excelWS.Cells[1, 1] = ""; excelWS.Cells[1, 2] = "控制柜名称"; excelWS.Cells[1, 3] = "控制柜分类"; excelWS.Cells[1, 4] = "时间"; excelWS.Cells[1, 6] = "工作模式"; excelWS.Cells[1, 8] = "报警状态"; excelWS.Cells[1, 10] = "输入电压"; excelWS.Cells[1, 11] = "输出电压"; excelWS.Cells[1, 12] = "输出电流"; excelWS.Cells[1, 13] = "一路"; excelWS.Cells[1, 14] = "二路"; for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++) { for (int j = 0; j < dsResult.Tables[0].Columns.Count; j++) { celulas.get_Offset(i + 1, j).Cells.Value2 = dsResult.Tables[0].Rows[i][j].ToString(); } } excelApp.ActiveWorkbook.RefreshAll(); excelApp.Workbooks.Application.ActiveWorkbook.RefreshAll(); SaveFileDialog a = new SaveFileDialog(); a.Filter = "Excel 工作簿 (*.xls)|*.xls"; a.ShowDialog(); excelWB.SaveAs(a.FileName, XlSaveAction.xlSaveChanges, false, false, XlSaveAsAccessMode.xlNoChange); excelWB.Close(false, null, null); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("导出失败:" + ex.Message); } excelApp.Quit(); System.Windows.Forms.MessageBox.Show("导出成功!"); btnExcel.DataContext = ""; HistoryWorkingDataGrid.DataContext = null; }
导出的Excel文件为什么有密码呢?
SaveAs(fileNameString, Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel8,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
fileNameString这个事什么意思?
好了。。万分感谢呀。都帮我解决俩问题了,大神威武