[研究]ASP.NET WebForm 用 ClosedXML 匯出 CSV ANSI 和 CSV UTF-8 ( .csv)(逗號分隔檔)
2024-02-20
環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 19
********************************************************************************
逗號分隔值(Comma-Separated Values,CSV,有時也稱為字元分隔值,因為分隔字元也可以不是逗號),其檔案以純文字形式儲存表格資料(數字和文字)。
https://zh.wikipedia.org/zh-tw/%E9%80%97%E5%8F%B7%E5%88%86%E9%9A%94%E5%80%BC
********************************************************************************
請問 CSV ANSI 和 CSV UTF-8 的演變 ?
ChatGPT
CSV(逗號分隔值)是一種常見的檔案格式,用於存儲表格數據,其中每行表示表格中的一行,並使用逗號分隔每個字段。CSV ANSI 和 CSV UTF-8 是兩種不同的 CSV 檔案格式,主要是關於字符編碼方面的區別。
CSV ANSI:
ANSI 是一種字符編碼方案,通常僅支援基本的拉丁字母、數字和符號,無法支援全球各種語言的字符。它可能受到不同操作系統和地區的限制。
CSV ANSI 格式的檔案使用 ANSI 字符編碼,這意味著它只能支援有限的字符集,如果在檔案中使用了非 ANSI 字符,可能會出現亂碼或者無法正確顯示的情況。
CSV UTF-8:
UTF-8 是一種字符編碼方案,支援世界上幾乎所有的字符,包括拉丁字母、漢字、西里爾字母等。它是一種Unicode編碼方式,使得不同語言的字符都能夠被正確地表示和處理。
CSV UTF-8 格式的檔案使用UTF-8字符編碼,因此可以支援更廣泛的字符集,而且可以確保跨不同系統和平台的兼容性。
演變方面,隨著全球化的發展和對字符支援的需求增加,越來越多的系統和軟件開始使用 UTF-8 字符編碼,因此,儘管在過去可能會遇到 CSV ANSI 格式的檔案,但現在更常見的是使用 CSV UTF-8 格式,以確保兼容性和支援更廣泛的字符集。
********************************************************************************
ASP.NET WebForm WebApplication
using ClosedXML.Excel; using System.Text; protected void GenerateCSV_ANSI() { var wb = new XLWorkbook(); var ws = wb.Worksheets.Add("Sheet1"); // 假設 data 是你要寫入 CSV 的資料 var data = new List<List<string>> { new List<string> { "Column1", "Column2", "Column3" }, new List<string> { "Value1", "Value2", "Value3" }, // 添加更多的資料行... }; // 將資料寫入工作表 for (int i = 0; i < data.Count; i++) { for (int j = 0; j < data[i].Count; j++) { ws.Cell(i + 1, j + 1).Value = data[i][j]; } } // 將工作簿另存為 CSV 檔案,使用 ANSI 編碼 var encoding = Encoding.GetEncoding("Windows-1252"); // ANSI 編碼 wb.SaveAs("output_ansi.csv", new SaveOptions { EvaluateFormulasBeforeSaving = false, Encoding = encoding }); // 將工作簿另存為 CSV 檔案,使用 UTF-8 編碼 // wb.SaveAs("output_utf8.csv", new SaveOptions { EvaluateFormulasBeforeSaving = false, Encoding = Encoding.UTF8 }); } |
主要的差異在於另存為 CSV 時指定的編碼。對於 CSV ANSI,使用的是 Windows-1252 編碼,這是一種常見的 ANSI 編碼。而對於 CSV UTF-8,則使用 UTF-8 編碼,這是一種支援更廣泛字符集的 Unicode 編碼。
********************************************************************************
(完)
相關
[研究][ASP.NET][WebForm] 匯出寫入 .csv
https://shaurong.blogspot.com/2021/02/aspnet-csv.html
[研究]ASP.NET WebForm 用 ClosedXML 匯出 CSV ANSI 和 CSV UTF-8 ( .csv)(逗號分隔檔)https://shaurong.blogspot.com/2024/02/aspnet-webform-closedxml-csv-ansi-csv.html
沒有留言:
張貼留言