这不是重复阅读完整问题
我有控制台应用程序。
这里我想将数据集值导出为excel
为此我将使用此 我使用过microsoft.office.interop.excel.dll
并使用此命名空间
使用Excel = Microsoft.Office.Interop.Excel;
这是我的Excel出口代码
private static bool ExportDataTableToExcel(DataTable dt, string filepath)
{
Excel.Application oXL;
Excel.Workbook oWB;
Excel.Worksheet oSheet;
Excel.Range oRange;
try
{
oXL = new Excel.Application();
oXL.Visible = true;
oXL.DisplayAlerts = false;
oWB = oXL.Workbooks.Add(Missing.Value);
oSheet = (Excel.Worksheet)oWB.ActiveSheet;
oSheet.Name = "Data";
int rowCount = 1;
foreach (DataRow dr in dt.Rows)
{
rowCount += 1;
for (int i = 1; i < dt.Columns.Count + 1; i++)
{
// Add the header the first time through
if (rowCount == 2)
{
oSheet.Cells[1, i] = dt.Columns[i - 1].ColumnName;
}
oSheet.Cells[rowCount, i] = dr[i - 1].ToString();
}
}
oRange = oSheet.get_Range(oSheet.Cells[1, 1],
oSheet.Cells[rowCount, dt.Columns.Count]);
oRange.EntireColumn.AutoFit();
oSheet = null;
oRange = null;
oWB.SaveAs(filepath, Excel.XlFileFormat.xlWorkbookNormal,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Excel.XlSaveAsAccessMode.xlExclusive,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
oWB.Close(Missing.Value, Missing.Value, Missing.Value);
oWB = null;
oXL.Quit();
}
catch
{
throw;
}
finally
{
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
}
return true;
}
当我运行我的代码时,我收到错误
无法加载文件或程序集'office,Version = 14.0.0.0,Culture = neutral,PublicKeyToken = 71e9bce111e9429c'或其中一个依赖项。系统找不到指定的文件。
我没有在我的电脑上安装ms office。
我以为我没有在我的电脑上安装MSOffice,所以只有我收到错误。
如果这不是错误我在代码中犯了错误,任何人都可以告诉我
答案 0 :(得分:1)
Excel互操作正在您的计算机上创建一个Excel实例 - 所以您需要安装它才能使用它。此外,您必须安装正确版本的Excel 。要支持比X更新的Excel版本,请使用针对excel interop版本X的后期绑定。