gpt4 book ai didi

c# - 将 html 字符串写入 csv 文件

转载 作者:太空狗 更新时间:2023-10-29 22:01:59 27 4
gpt4 key购买 nike

是否可以将html字符串输出到csv。

尝试将数据从 cms 导出到 csv 和 Excel。每段 html 都可以包含逗号和任何内容。

EG. <p class="myclass">This is an example, of the string</p>

导入在 Excel 中被破坏,错误的数据出现在错误的列中,尽管前几行是正确的。

我想实现这种格式

col1,col2,col3
"1","<p class="myclass">This is an example, of the string</p>","and more html here"

我已经尝试过这种事情 - 我在 cms 中迭代一个内容项并将每个属性输出为单独的 csv 数据值,用引号括起来并用逗号分隔。

foreach (var prop in offer.Properties) //.Where(x=>x.Alias != "Id"))
{

var @propValue = prop.Value.ToString().Replace("\"", "'");

// Append comma except last
sb.Append(prop != offer.Properties.Last()
? "\"" + propValue + "\","
: "\"" + propValue + "\"");
}
sb.Append(Environment.NewLine);

更新:事实上,这项任务充满了困难。最初的目标是快速将一组节点及其属性从 Umbraco CMS 导出到 Excel 文件。我了解到 csv 可能不是此类数据的正确格式,此类数据全部基于存储在 xml 中的数据并包括编码的 html 片段。

在我们的例子中,实现我们想要的目标的最佳方法是将导出的数据输出为 Excel 可以理解的 html 表格,并保持编辑器友好的格式,而不是编码的 html 片段。

最佳答案

当编码/解码 csv 时,我宁愿使用插件/库,当我尝试自己做时,我遇到了一些讨厌的用例(How to note decimals depending on the locale, uneven data ,转义字符等。)我使用了 CsVHelper 的调整版本但您可以在网上找到很多不同的。

关于您的更新。我的建议是不要直接用 html 填充你的 csv,只需用实际值填充它。将您的View Logic 远离您的Model Logic。让我们做一个简单的例子。

<table>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>

如果我以这种格式给你数据:

A B C
1 2 3

甚至采用这种格式:

A,B,C
1,2,3

您可以很容易地从这些数据中重新创建 html 表;或创建图表;或 word 文档;或您希望向用户展示模型的任何方式。

反过来,一组数据的形式

 <th>A</th>,    <th>B</th> ,    <th>C</th>
<td>1</td>, <td>2</td> , <td>3</td>

每次您要在除 html 之外的不同上下文中使用数据时,都会强制您进行解析。将 View 和模型放在不同的位置将使您的工作更轻松。

关于c# - 将 html 字符串写入 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37944113/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com