2011-11-12 26 views
12

Sto utilizzando excelLibrary per creare in modo programmatico file Excel ma ottengo un errore di formato file quando provo ad aprire i file generati in Microsoft Office Excel.Impossibile aprire il file excel generato con excelLibrary

Ho visto this has been reported ma non c'è ancora alcuna risposta a riguardo.

Uso Office 2010 e sono in grado di aprire qualsiasi altro .xls (formato di file 97-2003) ma quelli generati con excelLibrary. Ho anche provato Open Office e ancora non riesco ad aprire il file generato. Non ho provato ad aprirli in Office 97-2003.

Basta provare lo sample code per riprodurre l'errore.

Qualcuno ha trovato come utilizzare la libreria e non incorrere in questo problema?

+0

Non sono sicuro dell'errore, tuttavia la libreria non ha il supporto per il 2007/2010, forse guarda qualcosa di più recente? http://netoffice.codeplex.com/ – Kane

+0

Ho trovato una soluzione, vedere la mia nuova risposta. – aleroot

+0

Prova [EPPlus] (http://epplus.codeplex.com). Richiede .NET 3.5 ma è fantastico e molto potente. Usa OpenOfficeXml. –

risposta

39

trovato una soluzione:

string filename = "c:\Test.xls"; 
Workbook workbook = new Workbook(); 
Worksheet sheet = new Worksheet("Test") 
workbook.Worksheets.Add(sheet) 

for(int i = 0;i < 100; i++) 
     sheet.Cells[i,0] = new Cell(""); 

workbook.save(filename); 

Il problema è che Office 2010 non supporta a meno che non ci sono 100 o più celle riempite.

Il mio lavoro era far riempire 100 celle in un ciclo for con "". In questo modo viene eseguito il conteggio di 100 celle e quindi funziona perfettamente.

Riferimento: here

+0

+1 Fantastico! Stavo cercando questo, grazie! – Somebody

+0

Grazie amico .. Hai salvato la vita di 3 persone – Sayka

+0

Ha funzionato! Ma il limite di 256 colonne è troppo restrittivo (Excel 97?) Peccato, preferisco davvero la licenza LGPL su Apache. Provando NPOI qui sotto. – user922020

5

Purtroppo il file excel esportato con excelLibrary non è compatibile con Office 2010 Excel, questo è un problema già segnalato ma sembra che lo sviluppo della libreria non sia più attivo.

Sono passato a NPOI.

+0

+1 per NPOI, tieni presente che l'API NPOI è piuttosto dettagliata in stile, richiedendo di creare costantemente * elementi, in particolare quando si tratta di formattazione. Inoltre, le loro abbreviazioni dei nomi sono veramente orribili, rendendo quasi inutile l'intellegenza finché non si ricorda che la cosa che si desidera si chiama "HSSF". –

+1

Sì. Prova [EPPlus] (http://epplus.codeplex.com). Richiede .NET 3.5 ma è fantastico e molto potente. Usa OpenOfficeXml. –

-1

Dal momento che il nome del foglio non è dato correttamente, è stato gettando tale errore.

Una volta assegnato il nome al foglio, funzionerà correttamente.

Problemi correlati