Chuyển XLSX sang CSV bằng C#
XlsxToCsvConverter xuất một trang tính của workbook ra CSV theo chuẩn RFC 4180. Kết quả không phụ thuộc vào thiết lập vùng của máy, nên 1234.5 không bao giờ thành 1234,5.
using DocToolkit;
byte[] xlsx = File.ReadAllBytes("input.xlsx");
string csv = XlsxToCsvConverter.Convert(xlsx, "Sheet1");
File.WriteAllText("output.csv", csv);Cần những gì
- Không cần trình duyệt, kể cả trình duyệt headless.
- Không cần cài Office, cũng không cần LibreOffice.
- Không có tệp native: chỉ có mã managed.
- Không dùng mạng khi chạy, trừ khi bạn yêu cầu.
Nên biết
- Đồng bộ:
Convertnhận workbook dạngbyte[]cùng tên trang tính, và trả về mộtstring. Mỗi lần một trang tính do bạn chỉ định;WorkbookEditor.SheetNamesliệt kê các trang. - Số được ghi theo dạng bất biến, không theo vùng, ngày theo ISO 8601, và ô công thức xuất ra giá trị đã tính.
- Mỗi bản ghi kết thúc bằng CRLF, và một trường chỉ được đặt trong dấu ngoặc kép khi bắt buộc.
- Không chặn chèn công thức: trường bắt đầu bằng
=,+,-hoặc@được ghi nguyên văn. Hãy làm sạch CSV từ workbook không đáng tin trước khi mở bằng Excel.