2016-06-27 7 views
0

私はHTMLからExcelワークブックを生成することができる「Aspose Cells」という製品を使用しています。AsposeセルによってインポートされたHTMLに改行を含める方法

最近、私はアスペクトセルを使用して大きなテーブルをExcelにエクスポートするコードを書きました。私は、セルから改行が取り除かれている問題にぶち当たっています。

ので、HTMLはブラウザで次のようになります。

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

しかしのAspose細胞によってレンダリングするとき、それは次のようになります。私はこのいくつかの異なる方法をコーディングしようとしている

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

。私は街と街をセル内の別々のdivに配置しようとしましたが、私はそれらの間に改行タグを入れてみましたが、Aspose Cellsは何らかの理由で改行を無視しているようです。

このテーブルを、アスペクトセルを使用して改行してレンダリングするにはどうすればよいですか?

更新:ここでは、このようなテーブルを作成するコードの抜粋です:

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

でサポート開発者/エバンジェリストとして働いていますか? – ManishChristian

+0

私はセル内に余分なスペースを追加すると、それらはそのまま表示されますが、\ r \ nは完全に無視されるように見えます。 –

+0

HTMLでは、
タグに終了タグはありません。 XHTMLでは
タグを正しく閉じる必要があります(
など)。 W3Schools。だからあなたの休憩から終了タグを削除し、もう一度やり直してください。 – cyboashu

答えて

1

あなたはAspose.Cellsは、APIの最新バージョン/修正を試してみる必要があります。私は最新のバージョン/修正(例えばv8.8.2.10)で次のサンプルコード(コードセグメントにいくつかの行を追加/更新しました)を使用してシナリオ/ケースをテストしました。例: サンプルコード:

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(); 

私はあなたのコードを共有できるのAspose

+0

ありがとう!私はまさにエンタープライズサポートから聞いたことがあり、まったく同じことを教えてくれました。私はこのバージョンにアクセスするためにライセンスをアップグレードする必要があると思います。 –

関連する問題