在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
本教程說明如何使用IronXL C#庫在不安裝額外互操作的情況下,高效且有效地讀取CSV文件。
在 MVC、ASP.NET 或 .NET Core 中使用 IronXL 讀取 CSV 檔案之前,您必須先安裝 IronXL。以下是基本步驟。
在 Visual Studio 中選擇專案菜單,管理 NuGet 套件,然後搜索 IronXL.Excel
並安裝。
在 NuGet 套件管理器中安裝 IronXL 套件
IronXL 是一個很好的工具,當您需要時可以使用 讀取CSV檔案 在 C# 中。下面的程式碼範例顯示如何使用逗號或其他分隔符號來讀取 CSV 文件。
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("Csv_To_Excel.xlsx")
本教學的 CSV 資料
物件 Workbook
被創建。WorkBook
對象的 載入CSV 方法用來指示 CSV 檔案的名稱、其格式以及讀取的 CSV 檔案中所使用的分隔符,這些都會儲存在字串陣列中。在這個情境中,逗號被用作分隔符。
之後, 工作表
物件已建立;這裡將存放 CSV 檔案內容。然後檔案重新命名並以新格式存儲。接著,CSV 檔案數據以表格形式排列在工作表中。輸出將如下所示:
資料轉換為 Excel 檔案
CSV 在處理字段中的換行符以及字段可能被引號括起來時存在一些問題,這樣會阻止簡單的字符串分割技術 (Split) 正常工作。(「'」). 相反,IronXL 提供了通過
LoadCSV方法中的可選參數來自定義分隔符,請查看 API 文件的
LoadCSV
了解更多詳情。
在下面的例子中,foreach
用於迴圈遍歷 CSV 文件中的行,並使用 Console 寫入記錄中的數據。
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
{
Console.Write(row [i] + " ");
}
Console.WriteLine();
}
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
{
Console.Write(row [i] + " ");
}
Console.WriteLine();
}
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
Dim dt As DataTable = ws.ToDataTable(True) 'parse sheet1 of sample.xlsx file into datatable
For Each row As DataRow In dt.Rows 'access rows
For i As Integer = 0 To dt.Columns.Count - 1 'access columns of corresponding row
Console.Write(row (i) & " ")
Next i
Console.WriteLine()
Next row
從 CSV 檔案存取資料並顯示到控制台
這個過程很簡單:加載 CSV 文件並保存為 Excel 文件。
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("CsvToExcelConversion.xlsx")
IronXL的WorkBook
類表示一個 Excel 表單,並使用此類在 C# 中打開一個 Excel 文件。以下代碼範例將所需的 Excel 文件加載到一個 WorkBook 對象中:
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
WorkSheet
物件可以在多個 WorkBooks 中找到。這些是 Excel 文件的工作表。如果活頁簿包含工作表,你可以通過以下方式按名稱獲取它們:
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
讀取單元格值的代碼:
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet ("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
以下的代碼範例可以在載入和讀取工作簿和工作表後更新公式或應用於特定單元格。代碼如下:
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();
' Set Formulas
worksheet ("A1").Formula = "Sum(B8:C12)"
worksheet ("B8").Formula = "=C9/C11"
worksheet ("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets.
workbook.EvaluateAll()
IronXL僅需兩行代碼即可將CSV轉換為Excel,此外還支援C#中的CSV處理。
無需使用Interop,使用IronXL的Excel API變得非常簡單。此外,IronXL還提供了大量功能來與Excel工作簿、工作表和單元格級別進行互動,例如 在熱門格式之間轉換, 儲存格數據格式化, 合併儲存格, 插入數學函數,甚至管理圖表和 添加圖片您可以使用沒有浮水印的啟動 IronXL 試用許可密鑰。
許可證起始於 $749,包括一年的免費支援和更新。
IronPDF、IronXL、IronOCR、IronBarcode 和 IronWebscraper 都是...的一部分 Iron Software 套件. Iron Software允許您以折扣價購買整個套件。您可以以兩個工具的價格使用所有這些工具。
這絕對是值得探索的選項。