Excel vanuit C#: Formules in kolommen combineren met subtotalen

Status
Niet open voor verdere reacties.

sneezesnoeze

Gebruiker
Lid geworden
3 feb 2008
Berichten
41
Vanuit C# wil ik graag een excel-sheet maken met using Microsoft.Office.Interop.Excel;
In de excel-sheet heel veel gegevens uit een database.

In de excelsheet maak ik gebruik van subtotalen
Code:
worksheet_range.Cells.Subtotal(1, Excel.XLConsolidationFunction.xlSum, new[] {7,8}, false);

Naast de gegevens uit de database wil ik een aantal kolommen toevoegen met formules

Code:
worksheet.get_Range(C1, Type.Missing).EntireColumn.Formula = "=A1+B1";

Als ik eerst de formules in de excel-sheet zet en dan de subtotalen, krijg ik de volgende fout melding.

Om mogelijk gegevensverlies te voorkomen, kunnen niet-lege cellen niet van het werkblad worden geschoven. Probeer de cellen rechts en onder de gegevens te verwijderen of te wissen. Selecteer vervolgens cel A1 en sla de werkmap op om de laatste die is gebruikt in te stellen op de beginwaarden. U kunt ook de gegevens naar een nieuwe locatie verplaatsen en het opnieuw proberen.

Kijk ik dan in de excelsheet dan zie ik dat deze het maximaal aantal rijen heeft, waarschijnlijk door het gebruik van "entire column".
Dit zou deze melding kunnen veroorzaken.

Hoe kan ik een kolom met formules toevoegen zonder het subtotaal te blokkeren ?
 
Als ik het zo lees lijkt dit te komen door dat er gewoonweg te veel rijen gevuld worden en het niet meer allemaal in de sheet past.
Een flinke collectie dan als je meer dan 1.048.576 rijen in een sheet wilt hebben.
Je kunt proberen het zelfde te doen met minder rijen om te kijken of dit daadwerkelijk het probleem is. Als dit het probleem is zul je iets anders moeten bedenken, dit is namelijk een limiet van excel sheets zoals aangegeven op https://support.office.com/en-nz/ar...d-limits-1672b34d-7043-467e-8e27-269d656771c3 .
Zelfs als het je lukt om het er in te stoppen kan excel maar maximaal bovengenoemd aantal rijen tonen. Daarom zou het niet zinnig zijn de data er in te stoppen.
Waarom wil je zo veel data (vanuit een database notabene) in een excel sheet hebben?
Wellicht is een oplossing om slechts een selectie van de data te exporteren naar excel. Op die manier kan een gebruiker aangeven welke data hij/zij relevant vindt.
Wat ik verder gezien heb is dat mensen gewoon in een nieuwe sheet verder gingen met data importeren. Op die manier heb je een paar sheets met data en kun je daar van een sommering maken in de laatste sheet of in een apparte sheet voor overzichten.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan