Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skriva till excelfil äter upp allt minne

Postades av 2011-12-26 10:32:30 - Fredrik Werner, i forum c# (c-sharp), Tråden har 0 Kommentarer och lästs av 4050 personer

Hej,

Mitt problem kommer när jag skapar en excelfil från ett datatable på över uppskattningsvis 500 rader.
Jag kommer att behöva kunna skapa över 2000rader!
Problemet: Skapandeprocessen äter upp allt minne(4GB)

Okej, här kommer koden som jag använder för att skapa excelfilen. Vad kan vara orsaken?

using DocumentFormat.OpenXml.Spreadsheet;

using DocumentFormat.OpenXml.Packaging;

public static void InsertDataToExcelFile(SpreadsheetDocument sheet, DataTable table)

{

sheet.AddWorkbookPart();

sheet.WorkbookPart.Workbook = new Workbook();

sheet.WorkbookPart.Workbook.AppendChild(new Sheets());

WorksheetPart newWorksheetPart = sheet.WorkbookPart.AddNewPart<WorksheetPart>();

newWorksheetPart.Worksheet = new Worksheet();

uint worksheetNumber = 1;

SheetData sheetData = newWorksheetPart.Worksheet.AppendChild(new SheetData());

int numberOfColumns = table.Columns.Count;

bool[] IsNumericColumn = new bool[numberOfColumns];

Row newRow = sheetData.AppendChild(new Row());

Cell newCell;

foreach (DataRow dr in table.Rows)

{

newRow = sheetData.AppendChild(new Row());

for (int colInx = 0; colInx < numberOfColumns; colInx++)

{

string cellValue = dr.ItemArray[colInx].ToString();

if (IsNumericColumn[colInx] && !string.IsNullOrEmpty(cellValue))

{

newCell = CreateNumericCell(cellValue);

}

else

{

newCell = CreateTextCell(cellValue);

}

newRow.AppendChild(newCell);

}

}

newWorksheetPart.Worksheet.Save();

sheet.WorkbookPart.Workbook.GetFirstChild<

Sheets>().AppendChild(new Sheet()

{

Id = sheet.WorkbookPart.GetIdOfPart(newWorksheetPart),

SheetId = worksheetNumber++,

Name = table.TableName

});

sheet.WorkbookPart.Workbook.Save();

}


Svara

Nyligen

  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 878
27 965
271 772
860
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies