2016-06-27 7 views
0

Ich verwende ein Produkt namens "Aspose Cells", mit dem ich eine Excel-Arbeitsmappe aus HTML generieren kann.Wie Zeilenumbrüche in HTML von Aspose Cells importiert werden

Kürzlich habe ich Code geschrieben, um eine große Tabelle mit Aspose Cells nach Excel zu exportieren. Ich stoße auf ein Problem, bei dem Zeilenumbrüche aus meinen Zellen entfernt werden.

So kann das HTML wie dies in einem Browser aussehen:

Name | Address 
-----+-------------- 
Bob | 123 Main St, 
    | Miami, FL 
-----+-------------- 
Sue | 123 Broadway, 
    | New York NY 

Aber wenn sie von Aspose Zellen gemacht, sieht es wie folgt aus:

Name | Address 
-----+-------------- 
Bob | 123 Main St,Miami, FL 
-----+-------------- 
Sue | 123 Broadway,New York NY 

Ich habe versucht, dies mehrere verschiedene Möglichkeiten, Codierung . Ich habe versucht, die Straße und die Stadt in verschiedene divs innerhalb einer Zelle zu setzen und ich habe versucht, einen Zeilenumbruch zwischen ihnen zu setzen, aber Aspose Cells scheint den Zeilenumbruch aus irgendeinem Grund zu ignorieren.

Wie mache ich diese Tabelle Rendern mit Zeilenumbrüchen mit Aspose Cells?

Update: Hier ist ein Ausschnitt aus Code, der eine Tabelle wie folgt geschaffen werden:

html = "<table><tr><td>Bob</td><td>123 Main St,<br />Miami, FL</td></tr><tr><td>Sue</td><td>123 Broadway,<br />New York, NY</td></tr></table>"; 

Aspose.Cells.License license = new Aspose.Cells.License(); 
license.SetLicense("Aspose.Total.lic"); 

var options = new HTMLLoadOptions(LoadFormat.Html);  
byte[] data = Encoding.UTF8.GetBytes(html); 
Workbook workbook; 
using (MemoryStream ms1 = new MemoryStream(data)) 
{ 
     workbook = new Workbook(ms1, options); 
} 
MemoryStream ms = new MemoryStream(); 
workbook.Save(ms, SaveFormat.Xlsx); 
ms.Seek(0, SeekOrigin.Begin); 
return ms; 
+1

Könnten Sie Ihren Code teilen? – ManishChristian

+0

Ich habe festgestellt, dass, wenn ich zusätzliche Leerzeichen innerhalb der Zellen hinzufüge, sie wörtlich gerendert werden, aber \ r \ n scheint komplett ignoriert zu werden. –

+0

In HTML hat das
-Tag kein End-Tag. In XHTML muss das Tag
ordnungsgemäß geschlossen sein, wie folgt:
. W3Schulen. Entfernen Sie also das schließende Tag aus Ihren Pausen und versuchen Sie es erneut. – cyboashu

Antwort

1

Sie sollten neueste Version/fix von Aspose.Cells APIs ausprobieren. Ich habe Ihr Szenario/Ihren Fall mit dem folgenden Beispielcode (ich habe Ihrem Code-Segment einige Zeilen hinzugefügt/aktualisiert) mit der neuesten Version/Korrektur (z. B. v8.8.2.10) getestet, es funktioniert einwandfrei und wie erwartet. z.B. Beispielcode:

string html = "<table><tbody><tr><td>Bob</td><td>123 Main St,<br>Miami, FL</td></tr><tr><td>Sue</td><td>123 Broadway,<br>New York, NY</td></tr></tbody></table>"; 

     LoadOptions options = new HTMLLoadOptions(LoadFormat.Html); 
     byte[] data = Encoding.UTF8.GetBytes(html); 
     Workbook workbook; 
     using (MemoryStream ms1 = new MemoryStream(data)) 
     { 
      workbook = new Workbook(ms1, options); 
     } 

     //Extend the width and Auto-fit second column 
     workbook.Worksheets[0].Cells.SetColumnWidth(1, 13); 
     workbook.Worksheets[0].AutoFitColumn(1); 


     //Saving&nbsp;the&nbsp;Excel&nbsp;file 
     MemoryStream ms = new MemoryStream(); 
     workbook.Save(ms, SaveFormat.Xlsx); 
     ms.Seek(0, SeekOrigin.Begin); 
     byte[] buffer = new byte[ms.Length]; 
     buffer = ms.ToArray(); 
     FileStream fs = new FileStream("e:\\test2\\outlinebreaks1.xlsx", FileMode.Create); 
     fs.Write(buffer, 0, buffer.Length); 
     fs.Close(); 
     ms.Close(); 

ich als Unterstützung Entwickler/Evangelist bei Aspose arbeite

+0

Danke! Ich habe gerade von der Unternehmensunterstützung gehört, die mir genau dasselbe gesagt hat. Ich denke, wir werden unsere Lizenz aktualisieren müssen, um auf diese Version zugreifen zu können. –