Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据末尾有新行的SqlBulkCopy问题_C#_Asp.net Mvc_Epplus_Sqlbulkcopy - Fatal编程技术网

C# 数据末尾有新行的SqlBulkCopy问题

C# 数据末尾有新行的SqlBulkCopy问题,c#,asp.net-mvc,epplus,sqlbulkcopy,C#,Asp.net Mvc,Epplus,Sqlbulkcopy,我正在使用SqlBulkCopy在ASP.NETMVC页面上导入一个带有C#和EPPlus的Excel文件。我的目标是导入所有行,与现有数据进行比较,然后更新不匹配的值。除了处理换行符和数据末尾的换行符外,所有操作都正常 \r\n变为\n,如果在最后,它被完全忽略,例如: 这“…从坦帕搬迁到现在。\r\n\r\nVersátil,pode ser usada como pote na sua decoraèo.\r\n\r\nRecomenda para todos os ambientes d

我正在使用
SqlBulkCopy
在ASP.NETMVC页面上导入一个带有C#和EPPlus的Excel文件。我的目标是导入所有行,与现有数据进行比较,然后更新不匹配的值。除了处理换行符和数据末尾的换行符外,所有操作都正常

\r\n
变为
\n
,如果在最后,它被完全忽略,例如:

这“…从坦帕搬迁到现在。\r\n\r\nVersátil,pode ser usada como pote na sua decoraèo.\r\n\r\nRecomenda para todos os ambientes da casa.\r\n\r\n”变成“…从坦帕搬迁到现在,pode ser usada como pote na sua decoraèèo.\n\n\nRecomenda para tos ambientes da da da da da da da dos ambientes da da da da da da da da casa decoraècasa.”

在搜索答案时,考虑到列的类型是
varchar(max)
,我设法理解了这种行为是预期的,对吗

如果是的话。。。我的问题是,我不能使用大字符列,因为它将超过最大行大小,因为我需要许多大字符列

我需要在数据的末尾保持这些断线,如果可能的话,也希望保持中间部分没有被触碰。

有没有一种方法可以使用
SqlBulkCopy
并改变这种行为,使其完全不改变数据?我不知道,也许是列映射中的某些内容

关于导入过程,一切都从和Excel文件开始。我导入该文件并将其转换为EPPLUS
ExcelPackage
class。然后,我将带有数据的
ExcelSheet
转换为
DataTable

之后,我在数据库上创建一个临时表。相关列属于
[VARCHAR](MAX)COLLATE SQL\u Latin1\u General\u CP1\u CI\u AS NULL
类型。最后,我使用
SqlBulkCopy
将该
DataTable
中的数据写入该临时表

我检查了数据在
DataTable
中是否仍然未被触及。只有当信息写入数据库中的表时,才会发生更改


PS我没有包括代码,因为我认为它与问题无关。如果你们有别的想法,请告诉我。

如果你们有别的想法,我会的。
你的抱怨,本质上是“当我的批量加载数据包含行终止符作为数据的一部分时,它们作为行终止符,数据变得混乱”还是你的抱怨“我的带有windows行结尾的数据正在通过大容量复制转换为unix行结尾”?