Trình chuyển đổi Excel sang JSON

Chuyển các trang tính XLSX hoặc XLS cũ mà bạn chọn thành JSON mà không tải sổ làm việc lên. Chọn một cấu trúc JSON và các quy tắc chung về tiêu đề, ô trống, giá trị cho mọi trang tính đã chọn, rồi tải một JSON hoặc ZIP cục bộ. Các trang tính đang hiển thị được chọn theo mặc định; trang Hidden và VeryHidden cũng được hiển thị để bạn chỉ đưa vào khi thực sự muốn.

Cách chuyển Excel sang JSON

  1. 1

    Chọn sổ làm việc Excel

    Chọn một tệp XLSX chính hiệu hoặc XLS nhị phân, tối đa 20 MiB. Trình chuyển đổi kiểm tra chữ ký tệp chứ không chỉ phần mở rộng.

  2. 2

    Chọn trang tính

    Xem lại các trang tính hiển thị, Hidden và VeryHidden. Chọn một hoặc nhiều trang; cùng một thiết lập JSON sẽ áp dụng cho mọi trang được chọn.

  3. 3

    Chọn quy tắc JSON

    Dùng bản ghi, ma trận, từ điển hoặc bản ghi được nhóm. Đặt khóa tiêu đề, kiểu giá trị và cách biểu diễn ô trống.

  4. 4

    Tải xuống cục bộ

    Một trang tính được chọn sẽ tải về dưới dạng JSON. Nhiều trang tính được chọn sẽ được đóng gói thành ZIP trong trình duyệt.

Giới hạn sổ làm việc và định dạng được hỗ trợ

Trình chuyển đổi này đọc sổ làm việc XLSXXLS nhị phân cũ. Công cụ không chấp nhận tệp XLSM, XLSB, ODS hoặc CSV. Trình duyệt xác minh chữ ký tệp, vì vậy chỉ đổi tên một định dạng khác thành .xlsx hoặc .xls là chưa đủ.

Một sổ làm việc có thể có kích thước tối đa 20 MiB, chứa tối đa 100 trang tính và dùng tối đa 2 triệu ô. Trình chuyển đổi cũng kiểm tra cấu trúc kho lưu trữ XLSX trước khi đọc và dừng tạo đầu ra trên 100 MiB. Các giới hạn này giúp một sổ làm việc bị hỏng hoặc lớn bất thường không tạo ra lượt tải xuống ngoài tầm kiểm soát của trình duyệt.

Chọn một cấu trúc JSON cho các trang tính đã chọn

JSON có thể biểu diễn mảng và đối tượng, cũng như chuỗi, số, giá trị boolean và null. Cấu trúc phù hợp tùy thuộc vào hệ thống sẽ đọc tệp. RFC 8259 mô tả mô hình dữ liệu JSON.

Cấu trúc Cách dùng hàng đầu tiên Phù hợp cho
Mảng đối tượng Tên tiêu đề trở thành tên thuộc tính. Fixture API, dữ liệu ứng dụng và phần lớn hoạt động nhập dựa trên bản ghi.
Ma trận Hàng đầu tiên vẫn là dữ liệu. Dữ liệu theo vị trí, bảng gọn và công cụ cần mảng các mảng.
Từ điển Tên tiêu đề trở thành tên thuộc tính; một cột được chọn cung cấp khóa duy nhất. Tra cứu nhanh, chẳng hạn ánh xạ mã sản phẩm tới bản ghi sản phẩm.
Mảng được nhóm Tên tiêu đề trở thành tên thuộc tính; một cột được chọn cung cấp khóa nhóm. Các bản ghi được nhóm theo trường như phòng ban, quốc gia hoặc trạng thái.

Dạng mảng đối tượng tuân theo hành vi mặc định được mô tả trong SheetJS: hàng đầu tiên cung cấp tiêu đề. Đầu ra ma trận giữ hàng đó vì đây là dữ liệu, không phải siêu dữ liệu.

Đầu ra đối tượng, từ điển và nhóm cần một hàng tiêu đề không rỗng, không trùng lặp. Đầu ra từ điển cũng cần các giá trị duy nhất trong cột khóa đã chọn. Khi không đáp ứng các quy tắc này, trình chuyển đổi dừng với lỗi rõ ràng thay vì âm thầm ghi đè một bản ghi. Bạn có thể dùng các khóa thuộc tính đã được làm sạch hoặc giữ nguyên văn bản tiêu đề nếu hệ thống tiếp theo cần cách viết nguyên gốc trong sổ làm việc.

Giá trị, ngày tháng và công thức

Khi bật suy luận kiểu, số và giá trị boolean trong bảng tính vẫn là số và boolean JSON. Bạn cũng có thể giữ giá trị dưới dạng chuỗi nếu hệ thống nhận tự kiểm soát việc chuyển kiểu. Ô trống có thể trở thành null hoặc chuỗi rỗng. Số nguyên nằm ngoài phạm vi số nguyên an toàn của JavaScript vẫn là chuỗi để các chữ số không bị làm tròn âm thầm.

Ô ngày tháng chỉ trở thành giá trị ISO khi trình đọc bảng tính nhận diện chúng là ngày tháng. Trình chuyển đổi không đoán rằng một văn bản trông giống ngày tháng chính là ngày tháng. Điều này quan trọng với các giá trị như số đơn hàng, nhãn phiên bản và văn bản ngày tháng theo ngôn ngữ và khu vực.

Trình chuyển đổi không thực thi hoặc tính lại công thức Excel. Khi có sẵn, công cụ dùng giá trị ô đã lưu trong bộ nhớ đệm của công thức, không dùng kết quả hiển thị đã được định dạng. Công thức không có giá trị đệm tuân theo cài đặt giá trị trống.

Chuyển đổi trong trình duyệt và bản nháp tạm thời

Việc đọc sổ làm việc, tạo JSON, tạo ZIP và tải xuống diễn ra trong trình duyệt của bạn. Sổ làm việc, dữ liệu trang tính và JSON tạo ra không được tải lên hoặc gửi qua máy chủ của chúng tôi.

Trong luồng nhiều bước, một sổ làm việc đã xác minh có thể được giữ dưới dạng bản nháp tạm thời đã kiểm tra hàm băm trong IndexedDB của trình duyệt này. URL chỉ mang một mã định danh công việc mờ, không bao giờ chứa tên tệp hoặc giá trị trang tính. Bản nháp không còn dùng được sau 30 phút. Khi bạn bắt đầu lại hoặc yêu cầu tải xuống, công cụ yêu cầu trình duyệt xóa bản nháp; nếu không thể xác nhận việc xóa, công cụ sẽ cảnh báo bạn xóa dữ liệu của trang này trước khi rời thiết bị dùng chung. Nếu bộ nhớ trình duyệt không dùng được, các điều khiển vẫn nằm trên một trang để bạn hoàn tất mà không cần chuyển trang.

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

Có. Hãy chọn một hoặc nhiều trang tính. Một trang được chọn tạo lượt tải JSON; nhiều trang được chọn tạo một ZIP chứa tệp JSON cho từng trang.

Dùng mảng đối tượng cho các bản ghi thông thường dựa trên tiêu đề. Dùng ma trận khi mọi hàng, kể cả hàng tiêu đề, phải giữ nguyên là dữ liệu theo vị trí. Dùng từ điển cho tra cứu duy nhất và mảng được nhóm khi các giá trị lặp lại cần tập hợp những bản ghi liên quan.

Các cấu trúc dựa vào tiêu đề cần tiêu đề không rỗng và duy nhất. Từ điển cũng cần giá trị duy nhất trong cột khóa đã chọn. Việc từ chối giá trị trùng ngăn tệp đầu ra âm thầm thay thế một bản ghi bằng bản ghi khác.

Không. Ô công thức dùng giá trị ô đã lưu trong bộ nhớ đệm khi có sẵn, không dùng kết quả hiển thị đã được định dạng, và công cụ không tính lại công thức. Công cụ chỉ ghi ngày ISO cho các ô mà trình đọc bảng tính nhận diện là ngày tháng, thay vì đoán từ văn bản.

Không. Việc đọc, chuyển đổi và chuẩn bị tải xuống vẫn ở trong trình duyệt. Luồng nhiều bước có thể giữ một bản nháp chỉ trong trình duyệt nhưng bản nháp không còn dùng được sau 30 phút; sổ làm việc và dữ liệu không được gửi đến máy chủ hoặc đưa vào URL. Bắt đầu lại hoặc yêu cầu tải xuống sẽ yêu cầu trình duyệt xóa bản nháp và hiển thị cảnh báo nếu không thể xác nhận việc xóa.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác