如何在 Aspose Cells 导入的 HTML 中包含换行符
How to include line breaks in HTML imported by Aspose Cells
我正在使用一个名为 "Aspose Cells" 的产品,它允许我从 HTML.
生成一个 Excel 工作簿
最近,我编写了使用 Aspose Cells 将大 table 导出到 Excel 的代码。我 运行 遇到了换行符从我的单元格中删除的问题。
因此,HTML 在浏览器中可能如下所示:
Name | Address
-----+--------------
Bob | 123 Main St,
| Miami, FL
-----+--------------
Sue | 123 Broadway,
| New York NY
但是用Aspose Cells渲染的时候是这样的:
Name | Address
-----+--------------
Bob | 123 Main St,Miami, FL
-----+--------------
Sue | 123 Broadway,New York NY
我试过用几种不同的方法来编码。我试过将街道和城市放在一个单元格内的不同 div 中,我试过在它们之间放置一个换行符标记,但 Aspose Cells 似乎出于某种原因忽略了换行符。
如何使用 Aspose Cells 使此 table 渲染带有换行符?
更新: 下面是一段代码,可以创建这样的 table:
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;
您应该尝试最新的 version/fix 个 API,共 Aspose.Cells 个。我已经使用最新的 version/fix(例如 v8.8.2.10)使用以下示例代码(我对您的代码段做了 add/update 几行)测试了您的场景/案例,它工作正常并且预期的。
例如
示例代码:
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 the Excel 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 担任支持开发人员/传播者
我正在使用一个名为 "Aspose Cells" 的产品,它允许我从 HTML.
生成一个 Excel 工作簿最近,我编写了使用 Aspose Cells 将大 table 导出到 Excel 的代码。我 运行 遇到了换行符从我的单元格中删除的问题。
因此,HTML 在浏览器中可能如下所示:
Name | Address
-----+--------------
Bob | 123 Main St,
| Miami, FL
-----+--------------
Sue | 123 Broadway,
| New York NY
但是用Aspose Cells渲染的时候是这样的:
Name | Address
-----+--------------
Bob | 123 Main St,Miami, FL
-----+--------------
Sue | 123 Broadway,New York NY
我试过用几种不同的方法来编码。我试过将街道和城市放在一个单元格内的不同 div 中,我试过在它们之间放置一个换行符标记,但 Aspose Cells 似乎出于某种原因忽略了换行符。
如何使用 Aspose Cells 使此 table 渲染带有换行符?
更新: 下面是一段代码,可以创建这样的 table:
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;
您应该尝试最新的 version/fix 个 API,共 Aspose.Cells 个。我已经使用最新的 version/fix(例如 v8.8.2.10)使用以下示例代码(我对您的代码段做了 add/update 几行)测试了您的场景/案例,它工作正常并且预期的。 例如 示例代码:
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 the Excel 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 担任支持开发人员/传播者