C# 對 Excel 的相關操作


C# 對Excel的操作

學習自: 教練輔導


C# 對Excel的讀取操作

我們需要額外添加引用:

  • References
  • 搜索Excel
  • 這樣我們的基礎就添加完成了。
  • 並且在using 中添加:
  • using Excel = Mirosoft.Office.Interop.Excel;

這邊我們使用我們的控制台程序來對他進行操作。
我們先來看一下我們的完整代碼。

//讀取
Excel.Application excel_import = new Excel.Application();
Excel.Workbook book_import = excel_import.Workbooks.Open(FilePath + "/Data.xlsx");
Excel.Worksheet sheet_import = book_import.Sheets[1];

object[,] data = new object[sheet_import.UsedRange.Cells.Rows.Count, sheet_import.UsedRange.Cells.Columns.Count];
int import_row_count = sheet_import.UsedRange.Cells.Rows.Count;
int import_column_count = sheet_import.UsedRange.Cells.Columns.Count;
for (int i = 0; i < import_row_count; i++)
{
    for (int j = 0; j < import_column_count; j++)
    {
        data[i,j]=sheet_import.Cells[i+1,j+1].Text;
    }
}

這樣 我們的讀取操作就完成了我們的操作也是比較簡單

1.我們需要創建我們的Excel,並且給到我們的Excel 被讀取文件的目錄,但是需要注意的是,Excel的讀取文件目錄無法直接讀取到bin目錄及Debug目錄下。需要認為的去獲取當前項目的根目錄,

string FilePath = System.IO.Directory.GetCurrentDirectory();

這樣我們就獲取到了我們的根目錄。

接着我們創建了一個二維數組用於存儲存儲我們的數據。
將數據導成二維數組的方法在這里不細說,如果不懂可以自行百度。

有幾個點可以講一下:

  1. Excel中的索引是從1開始並不是我們常用的0開始
  2. 我們在讀取完成后盡量的去關閉或者是清除垃圾,這樣可以有效的防止下次操作時出現進程占用的尷尬情況。
  3. 代碼中出現的UsedRange 表示被使用過的范圍,如果不是很重要可以通過這個方式進行獲取Excel 中的行數和列數。
  4. 在我獲取Excel指定單元格時前往要注意是從 ’ 1 ‘ 開始並非是 0 開始。

這樣我們的C#對Excel 的讀取操作就基本完成了。


C# 導出Excel格式的文件

首先我們講一下我們大概的流程。

確定文件保存位置 -> 創建Excel進程 -> 創建Excel 的使用區域(這一步十分的重要)-> 將 被導入數據作為一個整體,直接賦值給我們Excel的 sheet表格。 -> 保存文件 -> 退出我們的進程 -> 使用 GC進行垃圾回收

大概流程應該比較好懂,沒有什么難度。
可能會很好奇為啥要將被導入數據作為一個整體賦值給生成文件,因為這樣的速度奇快。

然后我們看一下代碼:

string export_path = @"F:\test.xlsx";
Excel.Application excel_export = new Excel.Application();
Excel.Workbook book_export = excel_export.Workbooks.Add(true);
Excel.Worksheet sheet_export = book_export.ActiveSheet as Excel.Worksheet;
Excel.Range range = sheet_export.Range[excel_export.Cells[1, 1], excel_export.Cells[import_row_count, import_column_count]];
range.Value2 = data;
GC.Collect();
book_export.SaveAs(export_path);
book_export.Save();
excel_export.Quit();

這樣我們的文件導出為Excel就完成了。


我們來詳細的講一下我們的導出操作。
首先我們需要確定好我們的文件保存路徑,然后我們生成Excel 進程,並且確定 被導入數據在Excel 所要占用的位置,將數據作為整體賦值給rabge.
然后就是文件保存、進程退出、垃圾回收。


好了,這個Excel 的相關操作就這么多了,感謝你的閱讀。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM