Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Excel en genereren van bestand met macros

Pagina: 1
Acties:

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 02:07

alienfruit

the alien you never expected

Topicstarter
Ik zit al een tijdje te zoek naar een oplossing waarbij je een Excel bestand hebt als basis wat macros bevat en dat je vervolgens in back-end hiermee een reeks regels/kolommen kan toevoegen. Alleen ik weet eigenlijk niet waar ik naar moeten zoeken op het wereld-wijde-web.

Momenteel gebruiken we ActiveScript in de browser op een Excel sheet te openen en vervolgens regel voor regel de data in te voeren. Nu willen we ook Chrome e.d. gaan ondersteunen. ActiveScript gaat hier natuurlijk niet werken en nu wil ik het allemaal verplaatsen naar de back-end. Alleen ik heb moeite om boven water te krijgen of je gewoon een bestaande lege Excel sheet kan pakken en middels een API kan openen en de gewenste data kan toevoegen.

Heeft iemand tips? Natuurlijk heb je de OLE/COM interface die ook door ActiveScript wordt gebruikt maar dan moet je ook Excel op de server geïnstalleerd hebben. Dat lijkt mij niet echt ideal.

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Dat is min of meer de enige manier (tenzij ik nieuwe tooling gemist heb de afgelopen 4 jaar). Daarbij opmerkende dat Excel niet bedoeld is om headless (= zonder user) te draaien, en het ding dus legio memleaks heeft.

Als je voor die oplossing gaat -> Excel draaien in een losse VM en die af en toe rebooten. Yuck, maar werkt redelijk stabiel.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Wat dat betreft is het even de vraag of je 2010-xls gebruikt als output of niet.

2010-xls is (in basis) simpelweg een zooitje gezipte xml-bestanden.

En in bijv java (apache poi) opent dat bijv mogelijkheden om een bestaand xls-bestand als template te pakken en daarbij enkel de data te veranderen zodat je de macro's etc (wat bijna geen enkele xls-generator kan produceren) gewoon overkopieert vanuit je template omdat dit gewoon losse bestandjes in je container zijn die je generator niet aan hoeft te passen (/te begrijpen) hij hoeft ze enkel maar mee te kunnen kopieren.

Via java/apache poi weet ik dat je dit kan bereiken, maar ik ga ervanuit (vanwege het simpele principe) dat .net er ook wel genoeg equivalenten in heeft.

Een 2010-xls is qua rijen / kolommen enkel maar een xml die op een bepaalde manier gestructureerd moet zijn, de rest is enkel maar tierelantijn die je in principe zo kan overkopieren.

Alternatieve werkwijze die ik ook wel eens onderzocht heb zien worden (ik ken de uitslag niet) was dat mensen gewoon een 2010-xls gingen creeeren met een library en daarna gewoon in de zip-container wat bestanden vervangen door eerder opgemaakte bestanden om er op die manier macro's etc in te krijgen (zoals ik al zeg, ik ken de uitkomst niet dus wellicht moeten er nog wat extra verwijzingen gebeuren etc maar in principe is bij een 2010-xls de content redelijk keurig gescheiden van de rest en dat biedt mogelijkheden zoals ik hierboven beschrijf)