Chào mọi người,
Dạo gần đây mình có làm một dự án nhỏ liên quan đến việc tự động hóa cập nhật dữ liệu trong file Excel từ một API bên ngoài bằng C#. Mình thấy trong diễn đàn có nhiều bài chia sẻ về Python nhưng ít bài về C#, nên mình mạo muội viết bài này để chia sẻ kinh nghiệm và cũng là để học hỏi thêm từ mọi người.
Tình huống: Mình cần lấy dữ liệu thời tiết hàng ngày từ một API công cộng và cập nhật vào một file Excel để theo dõi. Ban đầu, mình làm thủ công bằng cách copy-paste, nhưng rất tốn thời gian và dễ sai sót.
Giải pháp: Mình đã sử dụng C# kết hợp với thư viện Newtonsoft.Json (để xử lý JSON từ API) và EPPlus (để thao tác với file Excel). Quy trình cơ bản như sau:
- Sử dụng
HttpClientđể gọi API và nhận về dữ liệu dạng JSON. - Phân tích chuỗi JSON thành các đối tượng C# bằng
Newtonsoft.Json. - Sử dụng
EPPlusđể mở file Excel, đọc dữ liệu hiện có (nếu cần), và ghi dữ liệu mới từ các đối tượng C# vào các ô tương ứng. - Lưu lại file Excel.
Code mẫu (đoạn trích):
using (HttpClient client = new HttpClient()){ var response = await client.GetAsync("https://api.example.com/weather"); response.EnsureSuccessStatusCode(); var jsonString = await response.Content.ReadAsStringAsync(); var weatherData = JsonConvert.DeserializeObject<WeatherData>(jsonString); // Tiếp theo là dùng EPPlus để ghi dữ liệu vào Excel}Quá trình này giúp mình tiết kiệm rất nhiều thời gian và đảm bảo dữ liệu luôn được cập nhật chính xác. Ai đã từng làm việc này bằng C# hoặc có kinh nghiệm gì khác thì chia sẻ thêm cho mình với nhé!