Cách chuyển đổi JSON sang Excel bằng C#
Cách chuyển đổi JSON sang Excel bằng C#
Chuyển đổi JSON sang Excel là điều cần thiết để cho phép phân tích dữ liệu có cấu trúc và báo cáo kinh doanh. Aspose.Cells for .NET cung cấp các phương pháp mạnh mẽ để nhập JSON trực tiếp vào bảng tính hoặc tệp CSV bằng cách sử dụng một API đơn giản và linh hoạt.
Tại sao lại chuyển đổi JSON sang Excel?
- Báo cáo có cấu trúc:
- Biến dữ liệu API hoặc dịch vụ trong JSON thành định dạng bảng để dễ đọc hơn.
- Tự động hóa:
- Tự động nhập dữ liệu vào Excel mà không cần định dạng thủ công hoặc can thiệp.
- Đa dạng:
- Hỗ trợ xuất ra các định dạng XLSX hoặc CSV với tùy chỉnh bố cục.
Hướng dẫn từng bước để chuyển đổi JSON sang Excel
Bước 1: Cài đặt Aspose.Cells qua NuGet
Cài đặt thư viện Aspose.Cells:
dotnet add package Aspose.Cells
Bước 2: Cấu hình Giấy phép Aspose.Cells
Kích hoạt đầy đủ chức năng với giấy phép của bạn:
Metered matered = new Metered();
matered.SetMeteredKey("PublicKey", "PrivateKey");
Bước 3: Tải đầu vào JSON
Đọc JSON từ một chuỗi hoặc tệp .json
:
- Từ tệp:
string jsonInput = File.ReadAllText("Data.json");
- Từ chuỗi trực tiếp:
string jsonInput = "[{'nodeId':1,'reputation':1134},{'nodeId':2,'reputation':547}]";
Bước 4: Tạo Workbook và truy cập Worksheet
Khởi tạo một workbook và truy cập worksheet mặc định của nó:
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
Bước 5: Đặt JsonLayoutOptions
Cấu hình các tùy chọn bố cục để xử lý các mảng như bảng:
JsonLayoutOptions options = new JsonLayoutOptions();
options.ArrayAsTable = true;
Bước 6: Nhập JSON vào Worksheet
Nhập JSON vào worksheet bằng cách sử dụng phương thức tiện ích:
JsonUtility.ImportData(jsonInput, worksheet.Cells, 0, 0, options);
Bước 7: Lưu dưới dạng Excel hoặc CSV
Xuất dữ liệu ra định dạng mong muốn:
- Lưu dưới dạng Excel:
workbook.Save("output.xlsx");
- Lưu dưới dạng CSV:
workbook.Save("output.csv", SaveFormat.CSV);
Các vấn đề và cách khắc phục phổ biến
1. Mảng JSON không được phân tích đúng cách
- Giải pháp: Đảm bảo
JsonLayoutOptions.ArrayAsTable
được đặt thànhtrue
để làm phẳng các mảng thành các hàng.
2. Tệp không được lưu
- Giải pháp: Kiểm tra các đường dẫn hợp lệ và đảm bảo ứng dụng của bạn có quyền ghi.
3. Cảnh báo giấy phép
- Giải pháp: Xác nhận rằng tệp giấy phép được tham chiếu và tải đúng cách.