c# - 如何从 Excel 中解析 "cut n paste"

标签 c# asp.net excel

对于网络应用程序的一部分,用户需要从电子表格中导入一些数据。例如姓名和电子邮件地址列表。目前,我们通过要求用户浏览并上传 CSV 文件来实现这一点。

不幸的是,这并不总是可行的,因为各种公司 IT 系统只允许用户从文档管理系统访问文件,而他们没有将这些文件保存到本地驱动器或网络共享的权限。

我们的解决方案是允许用户将整个工作表 (CSV) 剪切并粘贴到文本区域并提交。执行此操作后,您会得到一个很好的制表符分隔的数据列表,该列表很容易解析,如下所示。

Lorem   ipsum   dolor   sit amet
consectetur adipiscing  elit    Vivamus fermentum
Vivamus et  diam    eu  eros
egestas rutrum  Morbi   id  neque
id  enim    molestie    tincidunt   Nullam

不幸的是,各种细胞可能会产生意想不到的结果。在下面的集合中,您可以在 prerium 一词中看到一个 ",一个带有 Suspendisse 一词的制表符和一个在 sollicitudin 一词中的换行符。

bibendum    ante    molestie    lectus  Sed
pret"ium    "Susp   endisse"    "sollic
itudin" nisi    at
urna    Sed sit amet    odio
eu  neque   egestas tincidunt   Nunc
metus   Curabitur   at  nibh    Nulla

在这种情况下,如果没有更强大的机制来处理实际数据中的制表符、引号和换行符,我不能只在制表符和换行符上进行拆分。

有谁知道可以可靠地处理这个问题的代码吗?或者即使可以依靠 excel 和这样的剪贴板来产生一致的结果?

我在使用 C# 的 Asp.net 3.5 中工作。 用户的 excel 版本可能不同,但应始终为 Windows 2000/XP/Vista 和 IE 6/7。

最佳答案

这对我来说看起来像一个“分隔值”列表,所以基本上与 CSV 相同,其中 TAB 作为字段分隔符,换行符作为行分隔符。你可以用 CSV Reader library from CodeProject 试试,它应该处理不同的分隔符,而不仅仅是逗号。

关于c# - 如何从 Excel 中解析 "cut n paste",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/465669/

相关文章:

java - 如何使用 apache poi 4.0.1 和 java 生成可编辑的堆叠条形图?

c# - 转换 JSON 字符串时出现 JsonConvert.DeserializeObject 错误 C#

c# - 在运行时向 ComboBox 添加项目?

asp.net - 访问类库中的 HttpContext - ASP.NET MVC

asp.net - Web API 2 - ApiController.InternalServerError() 返回 HTTP 400 状态代码

sql-server - ADODB 通过 Excel 连接到 SQL-Server

c# - 如何在 C# 中将 JSON 数据保存到 SQL Server 数据库?

c# - 如何硬编码和读取 appSettings.json 中的字符串数组?

javascript - 允许用户使用 JavaScript 将文件上传到文件夹

excel - 从字符串输出格式