0
突然之间,代码已经停止输出Excel文件。它正在将一个DataTable,dtOutput转换成一个Excel文件:Visual Studio Express 2010中的突然代码失败
if (dtOutput.Rows.Count > 0)
{
DataView dv = dtOutput.DefaultView;
dv.Sort = "Outage Start Time";
dtOutput = dv.ToTable();
// Populates a column of the table
dtOutput = addIncidentCounts(dtOutput);
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Worksheet ws = (Worksheet)wb.Worksheets[1];
ws.Name = "Retail Network Tracking Log";
int col = 1;
foreach (DataColumn column in dtOutput.Columns)
{
ws.Cells[1, col].Value2 = column.ColumnName;
col++;
}
for (int i = 0; i < dtOutput.Rows.Count; i++)
{
for (int j = 0; j < dtOutput.Columns.Count; j++)
{
ws.Cells[i + 2, j + 1].Value2 = dtOutput.Rows[i][j];
}
}
foreach (Range range in ws.UsedRange.Columns)
{
range.HorizontalAlignment = XlHAlign.xlHAlignLeft;
range.Columns.AutoFit();
}
Range rangeE = ws.get_Range("E:E", Type.Missing);
rangeE.NumberFormat = "d-mmm-yyyy hh:mm:ss";
Range rangeF = ws.get_Range("F:F", Type.Missing);
rangeF.NumberFormat = "d-mmm-yyyy hh:mm:ss";
wb.Close(false, false, Type.Missing);
xlApp.Quit();
Marshal.ReleaseComObject(wb);
Marshal.ReleaseComObject(xlApp);
this.Close();
}
它已经完美地运行了几个星期。我没有做任何改变。我重新启动VS,重新启动计算机,并最终重新安装VS,但我仍然没有得到任何输出。我也通过调试器运行它,并且代码正在执行并获得所有正确的值。我很难过。
不能帮助亚没有关于你得到的错误的某种信息。这就是说,如果我不得不猜测我会说它的权限问题,或目录结构问题,或 – 2012-08-02 20:31:26
我没有看到你关闭Excel之前保存工作簿的位置? – 2012-08-02 20:47:30
...或者您正在寻找保存的工作簿的错误位置?你有没有尝试用固定的绝对路径显式保存它? – 2012-08-02 21:02:52