Chuyển đến nội dung

Chuyển Excel sang XML

Biến trang tính thành XML đúng cú pháp để nhập dữ liệu, làm feed và tích hợp hệ thống — tên phần tử lấy từ tiêu đề cột, giá trị đúng kiểu, tên phần tử gốc và phần tử hàng do bạn chọn.

  • Không bao giờ lưu trữ
  • Không xếp hàng, không phải chờ
  • Không cần đăng ký, không watermark

Cách hoạt động

1

Thêm bảng tính

Thả file .xlsx, .xls hoặc .ods vào rồi chọn trang tính, kèm bản xem trước XML trực tiếp.

2

Đặt tên phần tử

Đặt tên phần tử gốc và phần tử hàng, chọn giá trị gốc hay giá trị hiển thị, và cách xử lý ô trống.

3

Sao chép hoặc tải xuống

Sao chép XML hoặc lưu thành file .xml.

Một bảng lưới được mô tả thành cấu trúc cây

Mỗi trang tính trở thành một phần tử lặp lại cho mỗi hàng, với một phần tử con cho mỗi cột mang tên từ hàng tiêu đề — đó là điều giúp kết quả đọc được bởi bất cứ thứ gì cần XML dữ liệu chứ không phải bảng tính. Tên cột phải trở thành tên phần tử hợp lệ trong quá trình này, và XML khắt khe hơn tiêu đề bảng tính: tên không được bắt đầu bằng chữ số, không được chứa dấu cách hay hầu hết dấu câu, và có phân biệt chữ hoa chữ thường. Vì vậy “Order Total (£)” sẽ thành một tên gọn gàng hơn, và hai tiêu đề chỉ khác nhau ở dấu câu có thể cần được phân biệt.

Thứ được chuyển đi là giá trị, không phải hình thức. Một ô hiển thị £1,234.50 được lưu trong bảng tính là số 1234.5 kèm một định dạng, và chính con số đó được đưa vào XML — điều này hầu như luôn đúng, vì hệ thống nhận dữ liệu cần giá trị chứ không cần ký hiệu tiền tệ. Công thức cũng mất theo cách tương tự: bạn nhận được kết quả của công thức, vì XML không có chỗ nào để giữ bản thân công thức. Màu sắc, phông chữ, đường viền, định dạng có điều kiện, biểu đồ và hình ảnh hoàn toàn không có cách biểu diễn ở đây.

Ngày tháng là thứ cần kiểm tra. Bảng tính lưu ngày tháng dưới dạng số ngày tính từ một mốc và hiển thị qua một định dạng, nên tùy cách thiết lập ô, một ngày có thể xuất ra thành 45356 thay vì một ngày tháng. Nếu ngày tháng quan trọng với hệ thống đọc XML, hãy xem lại chúng trước khi dùng file — và cân nhắc định dạng chúng thành văn bản trong bảng tính trước, cách này loại bỏ hoàn toàn sự mơ hồ.

Năm ký tự mà XML dành riêng — dấu và (&), dấu ngoặc nhọn và dấu nháy — được thoát (escape) trong giá trị, nên văn bản chứa chúng vẫn nguyên vẹn. Ô trống tạo ra phần tử rỗng thay vì bị bỏ qua, giúp mọi bản ghi có cùng cấu trúc và khiến đầu ra dễ xử lý hơn nhiều so với khi các trường thiếu cứ thế biến mất. Bảng tính có mật khẩu phải được gỡ mật khẩu trước.

Khi bạn cần công cụ khác

Khi XML phải khớp với một schema cụ thể — một định dạng ngành, hồ sơ nộp cho cơ quan nhà nước, định dạng nhập của một hệ thống — một lần chuyển đổi chung chung sẽ không tạo ra được, và không cấu hình nào ở đây làm được điều đó. Đó là việc ánh xạ dữ liệu: XSLT biến đầu ra này thành cấu trúc được yêu cầu, và xmllint --schema xác nhận kết quả trước khi bạn nộp.

Với bất cứ việc gì lặp lại, hãy viết script. openpyxl và pandas của Python đọc bảng tính và ghi ra bất kỳ XML nào bạn chỉ định, kiểm soát được cách hiển thị ngày tháng và số — chính là phần quan trọng. Và cũng nên tự hỏi liệu XML có thật sự là đích đến — hầu hết hệ thống xây dựng trong thập kỷ này thích JSON hoặc CSV hơn, và XML thường là yêu cầu kế thừa từ một hệ thống cũ hơn.

Câu hỏi thường gặp

XML đầu ra trông như thế nào?

Mỗi hàng là một phần tử, với một phần tử con cho mỗi cột mang tên theo tiêu đề của cột đó: <rows><row><Name>Ada</Name><Joined>2024-03-15</Joined></row>…</rows>. Bạn chọn tên phần tử gốc và phần tử hàng, và có thể xuất nhiều trang tính cùng lúc, mỗi trang được bọc trong một phần tử riêng.

Tiêu đề cột của tôi có dấu cách và ký hiệu — có sao không?

Không sao. Tiêu đề được chuyển thành tên XML hợp lệ: “First Name” thành First_Name, “2024 Sales” thành _2024_Sales, và tiêu đề trùng nhau được đánh số, nên đầu ra luôn đúng cú pháp.

Ngày tháng và số được ghi như thế nào?

Giá trị gốc cho ra số thuần và ngày tháng theo ISO 8601 (2024-03-15, 14:30:00) mà mọi hệ thống đều đọc được. Giá trị hiển thị ghi đúng văn bản Excel hiển thị, kể cả định dạng.

XML Spreadsheet 2003 là gì?

Một định dạng XML mà Excel mở trực tiếp được, giữ mọi trang tính cùng số, ngày tháng và văn bản. Hãy chọn nó khi một hệ thống yêu cầu “Excel XML” thay vì XML dữ liệu của riêng bạn.

Bảng tính của tôi có bị lưu trữ ở đâu không?

Không. Bảng tính được đọc và XML được tạo ngay tại đây; không gửi gì đi đâu và không lưu trữ gì cả.

Công thức và định dạng sẽ ra sao?

Công thức được ghi thành giá trị đã tính. Định dạng, biểu đồ và hình ảnh không thuộc về XML dữ liệu.

Nên biết: XML dữ liệu chỉ chứa giá trị — không có định dạng, biểu đồ hay hình ảnh. Bảng tính có mật khẩu phải được gỡ mật khẩu trước.

Đặt công cụ này lên website của bạn

Miễn phí cho mọi blog, trang lớp học hay bài viết hướng dẫn. Chỉ cần dán một đoạn mã là khách truy cập có thể dùng ngay trên trang của bạn.