Chúng tôi đang cố gắng tạo bảng điều khiển Excel mặc định mà người dùng của chúng tôi có thể tải xuống. Khi tải xuống trang tính Excel, chúng tôi muốn điền một trang tính vào tệp với dữ liệu của chúng.Không thể lưu trang tính Excel sau khi thêm dữ liệu nếu sổ làm việc chứa bảng Pivot
Chúng tôi đang sử dụng EPPlus để thao tác trên trang tính Excel.
Nói tóm lại, cấu trúc của bảng như sau:
Sheet A
với các yếu tố báo cáo (các bảng tổng hợp, biểu đồ trục và Slicer)Sheet B
đó chứa toàn bộ dữ liệu thiết- Một tên phạm vi được xác định là
=OFFSET(Data!$A$1;0;0;COUNTA(Data!$A:$A);COUNTA(Data!$1:$1))
chỉ đơn giản là điều chỉnh theo kích thước của tập dữ liệu mà chúng tôi chèn vào bảng đó - Bất kể phạm vi được đặt tên chứa i được tải vào Power Query và được thêm vào sổ làm việc Mô hình dữ liệu
- Tất cả các yếu tố báo cáo từ
Sheet A
được cấu hình để tải dữ liệu từ Data Model
Nhìn chung, đây hoạt động tuyệt vời miễn là chúng ta đang tự nhồi Sheet B
với dữ liệu của chúng tôi. Khi chúng ta cố gắng sử dụng EPPlus cho điền vào các dữ liệu chúng tôi nhận được một lỗi khi cố gắng để lưu các tập tin:
The cachesource is not a worksheet
Bằng cách thử và sai, chúng tôi đã lột xác tờ đó là phần để cô lập các nguyên nhân của vấn đề . Chúng tôi nghi ngờ rằng nó có thể là slicer, việc sử dụng Power Query/Data Model hoặc thủ thuật với phạm vi được đặt tên. Tuy nhiên, không có vấn đề nào trong số này có vẻ là vấn đề - nếu chúng tôi xóa tất cả các Bảng tổng hợp khỏi trang tính thì chúng tôi có thể lưu sổ làm việc tốt. Đáng ngạc nhiên với tôi, chúng tôi có thể sử dụng Bảng xếp hạng Pivot tốt, chỉ có các bảng đang gây ra sự cố.
Bất kỳ đề xuất nào về cách tránh sự cố này với EPPlus? Hiện tại, chúng tôi đã tiếp tục mà không cần sử dụng Bảng tổng hợp, chúng tôi sẽ muốn họ quay trở lại tại một số thời điểm :)
Dựa trên https://github.com/pruiz/EPPlus/blob/master/EPPlus/Table/PivotTable/ExcelPivotCacheDefinition.cs (và thông báo lỗi) bạn đã thử sử dụng cachesource làm trang tính chưa? – mjwills
Thành thật mà nói, tôi không có ý tưởng nhỏ nhất có nghĩa là gì hoặc làm thế nào để làm điều đó :) –
@mjwills Tôi đã googled xung quanh một chút và tìm thấy một số thủ thuật để vô hiệu hóa bộ đệm Pivot Table. Tôi không thể tìm thấy bất kỳ điều gì liên quan đến việc thay đổi loại bộ nhớ cache ở bất cứ đâu. Bí quyết cần phải bỏ qua "Lưu dữ liệu nguồn có tệp" nhưng tùy chọn đó dường như có màu xám trong trường hợp của chúng tôi khi Bảng Pivot đang tải từ Mô hình Dữ liệu. –