Mam serię około 30 raportów programu Excel (.xlsm
), z których każdy ma unikalne połączenie skonfigurowane do bazy danych. Połączenie to krótki skrypt SQL, który pobiera dane do wyświetlenia w raporcie. Dane są umieszczane w tabeli (nie w tabeli przestawnej).Połączenie skoroszytu programu Excel powoduje, że rozmiar pliku jest duży
Każdego tygodnia musimy aktualizować te raporty, więc używam prostego skryptu PowerShell, aby otworzyć każdy z plików i odświeżyć połączenie.
Co jakiś czas musimy wysyłać podstawowe raporty 30 do innych grup roboczych, aby mogły ręcznie samodzielnie aktualizować pliki. Może to być uciążliwe, ponieważ niektóre raporty są bardzo duże (30 MB +). To sprawia, że wysyłanie wiadomości e-mail jest trudne, a przesyłanie ich/pobieranie ich kilka razy dziennie to tylko kłopot.
Aby temu zaradzić, zanim rozprowadzimy szablony raportów, spróbuję usunąć wszystkie wiersze w tabelach i każdy nieużywany zakres. Pomogło to, ale wciąż jest kilka plików, które są BARDZO duże (30 MB +), mimo że usunęliśmy wszystko w skoroszycie, z wyjątkiem połączenia i pustej tabeli.
Dzięki testom zdałem sobie sprawę, że jeśli usunę skonfigurowane połączenie, rozmiar pliku stanie się wystarczająco mały (< 1mb), co jest tym, czego oczekiwałbym. To prowadzi mnie do przekonania, że połączenia Excel mają pewien rodzaj pamięci podręcznej, którą należy wyczyścić, jednak nie mogę znaleźć dla niej żadnych odniesień.
Czy ktoś zna prosty sposób na zmniejszenie rozmiaru połączenia w taki sposób, że mógłbym to zrobić programowo używając VBA/Powershell?
Dobre pytanie. Nie znaczy to, że ten komentarz jest odpowiedzią na twoje pytanie, ale rozważałeś rozwiązanie w chmurze lub ftp. Czy pliki znajdują się na udostępnionym dysku sieciowym i całkowicie pomijają problem z pocztą e-mail? Wciąż jestem zainteresowany RZECZYWISTYM rozwiązaniem tego problemu, ponieważ prawdopodobnie zechcesz to zrobić bez względu na to, czy pominiesz problem z pocztą e-mail, czy nie. – peege
Jeśli otworzysz plik .xlsm w programie archiwum, takim jak winzip lub 7 zip, zobaczysz elementy, które składają się na plik. Czy jest w tym jakiś konkretny element, który jest bardzo duży? Jak już mówisz, wygląda na to, że twoje dane źródłowe są buforowane w pewnym stopniu: –
Jeśli usunięcie skonfigurowanego połączenia powoduje zmniejszenie rozmiaru pliku, możesz po prostu napisać makro, aby usunąć połączenia, a drugie je przywrócić? – TheEngineer