[英]Export to Excel from C#
我正在嘗試從C#將數據寫入Excel,但是在調試時出現異常:
代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Excel = Microsoft.Office.Interop.Excel;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
Excel.Application excelapp;
Excel.Window excelWindow;
Excel.Workbooks excelappworkbooks;
Excel.Workbook excelappworkbook;
Excel.Sheets excelsheets;
Excel.Worksheet excelworksheet;
Excel.Range excelcells;
excelapp = new Excel.Application();
excelapp.Visible = true;
excelappworkbooks = excelapp.Workbooks;
excelappworkbook = excelapp.Workbooks.Open(@"C:\Documents and Settings\дима\Мои документы\Visual Studio 2010\Projects\ConsoleApplication3\ConsoleApplication3\bin\Debug\a.xls",
Type.Missing, Type.Missing, Type.Missing,
"WWWWW", "WWWWW", Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
excelsheets = excelappworkbook.Worksheets;
excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);
excelcells = excelworksheet.get_Range("A1", "A1");
excelcells.Value2 = 10.5;
}
}
}
}
看起來像類型庫沖突。 也許您安裝了多個版本。 請檢查您是否對所需的lib類型有引用
9.0 Excel 2000
10.0 Excel 2002中
11.0 Excel 2003
12.0 Excel 2007
14.0 Excel 2010
參考更改后,請清潔溶液並進行完全重新編譯。
這並不是真正地直接回答問題,但是我已經看到很多人都在努力通過COM接口控制Excel。
我從TMS Software獲得了一個名為FlexCel的庫,它使您可以完全用代碼創建或操作Excel工作表,甚至不需要在計算機上安裝Excel。
它還具有許多其他有用的功能(編寫PDF文件,從Excel模板執行復雜的報告等)。
我應該指出,除了成為滿意的用戶外,我與公司沒有任何聯系。
您可以嘗試以下方法,讓我知道。 以下代碼應在C#3.0中運行
excelcells = excelworksheet.get_Range("A1", Type.Missing);
如果您使用的是C#4.0,請使用以下命令
excelcells = excelworksheet.get_Range("A1");
也要始終使用try / catch塊編寫代碼。
嘗試以下操作:使用添加刪除程序>轉到選項卡更改或刪除程序轉到Microsoft Office Professional2003。單擊鏈接“單擊此處以獲取支持信息”。 使用修復按鈕。
這對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.