增加将数据从csv导入Excel的大小限制


12

我要导入Excel的csv文件中有大量数据,大多数情况都很好,但是我的一列中最多包含1000个字符的数据。不幸的是,Excel承担了它自己的职责,认为它比我需要的数据更多,并且似乎正在缩短它的长度(255个字符)。

如何增加此限制并保留所有数据?


您的意思是“不幸的是,Excel承担了它自己的职责,认为它比我需要的数据更多,并且似乎正在缩短它的数量。” 显示不正确吗?如果您将=LEN(A1)Excel 放到A位置会发生什么情况!是您的文字参考?
彼得·艾伯特

它表示255,当我在公式输入框中查看数据时,它突然停止。我可以在开放办公室中显示完整的数据,但是一旦我粘贴到excel中,它似乎就限制为255个字符。我不使用开放式办公室的原因是因为我可以过去作为数据或在其中进行vlookup。
SwiftD

Excel可以处理超过255个字符的文本。但是,如果单元格由VBA填充,则有点复杂。你的来源是什么?如何将其导入Excel?
彼得·阿尔伯特

我有一个从magento的csv导出。如果我在OO中打开,则具有全文。如果我在Excel中打开它的捷径。当我从OO粘贴到excel时,它也会被剪切掉,而且我无法在单元格中手动输入任何内容,一旦离开单元格,它就会在同一点被剪切掉。
SwiftD 2013年

也许CSV出现问题了?您可以更新您的问题并张贴几行吗?另外,也许机器上的定界符和分隔符设置开始起作用了?
Jan Doggen

Answers:


13

Excel中有一个奇怪的错误。我将在此处说明如何避免(而不是修复,只是避免)它,也许它将很快被MS Office程序员修复。也许它甚至在Excel 2013中已修复,但我尚未打开它。

所以,这就是问题所在。

文本单元格的最大长度为32767,可以。

数字单元格的最大长度为255,可以。

但是,如果您有一个单元格调用数字解析器,然后失败,然后调用文本解析器,这将是一团糟。

例如:

...,"This is a cell with 30,000 characters........",...

将工作。

但是,如果您在开始时要减去一些,

...,"-This is a cell with 30,000 characters........",...

您只会看到255个首字符,因为EXCEL认为这是一个负数。

希望能帮助到你。


3
这是我在商业软件中见过的最奇怪,最愚蠢的错误。从字面上看,这真让我发疯,您如何才能在地球上支付这种费用。
astrojuanlu 2014年

很好的解释,谢谢。不幸的是,我可以确认-3年后
-Excel

好吧,@ BurninLeo,我可以说,在我最初的答案后三天,我已经与MS Office开发人员中心进行了聊天,并给了他们指向该超级用户主题的链接。
khitron23 '18

这个问题似乎与Excel 365 PROPLUS 1902版解决
卡斯滕·弗兰克

1

我遇到一个带有某些长文本字段(有时以破折号开头)的csv文件的问题。似乎由于破折号,Excel的导入尝试将字段处理为数字,并且数字导入将其修剪为255个字符。如果失败,则将其导入为文本,但仅导入前255个字符。

为避免此问题,我不得不导入csv而不是仅仅打开它。在导入向导中,我选择了遇到问题的列,并将其类型从“常规”切换为“文本”。然后,Excel甚至不会尝试将其解析为数字,而我会得到完整的列宽。


0

首先,谢谢大家为解决这个问题所提供的帮助。事实证明,excel可以很高兴地为一个单元格容纳255个以上的字符(如前所述,最多可以容纳32,767个字符)。

那为什么没有工作呢?

简短的答案是我不确定。第一次将数据导入excel时,我将其导出为csv,然后在excel中打开。这样可以缩短列的长度(为255)。(csv文件包含通过记事本查看的所有数据,但通过excel重新保存时不包含)。

有问题的列确实包含一些分号,但这与截止点(始终为255)不对应,因此我并没有使用;作为分隔符。

我的解决方案不是将文件导出为xls文件。此后已将其完整数据成功保存为csv文件。

希望这对某人有帮助,即使我仍然不确定问题到底出在哪里。


简单的Google搜寻会在很多论坛上张贴同样的问题;这可能只是Excel CSV导入例程中的错误。
马库斯·陈

0

根据http://office.microsoft.com/zh-cn/excel-help/excel-specifications-and-limits-HP010342495.aspx,Excel 2010仅支持255个字符的列宽。

编辑:这是您正在谈论的问题,Webweaver吗?格式>单元格>自动换行是否使其余字符可见?

编辑:没关系,此答案与手头的问题无关(可能以某种方式相关,但它不能回答问题)


不,那是COLUMN WIDTH。在同一表中,“单元格可以包含的字符总数”为32767个字符。
Vicky 2013年

@Vicky,这不是问问者遇到的问题吗?还是我误解了这个问题?
Marcus Chan

@nixda真实吗?是的,真烦人。我不能相信excel无法处理更多255个字符。有一种方法可以做到这一点!
SwiftD

@马库斯,我不明白这意味着列宽。这不只是显示问题,数据不存在。它被缩短了。当我另存为csv时,数据不存在。当我做LEN(小区)的结果为255
SwiftD

@MarcusChan,字符数应限制为32767。用户遇到的字符数限制为255。您所指的是列宽,该宽度与列的显示方式有关,这不是OP的问题。
Vicky

0

通常,这是一个旧的限制,不再适用于现代版本的Excel(无论如何,2013)。但是,如果工作簿最初是在较旧版本中创建的,则即使在较新版本的Excel中打开,在较旧版本中修改(即通过特定的属性和属性实例化)的单元格对象显然也将保留255个字符限制!

解决方法:

  1. 使用现代版本的Excel,在工作表上不同的未使用单元格中,重新创建问题单元格所需的任何格式和/或合并范围条件。
  2. 确保将其设置为常规或文本格式。
  3. 剪切或复制并粘贴新创建的单元格版本(或合并范围),并将其粘贴到旧的不良版本上。
  4. 现在,当将数据输入单元格时,该问题将不再明显。

正如WebweaverD随后发布的那样,他找到了解决自己的csv导入问题的解决方案。另外,如果通过VBA填充单元,则情况将变得更加复杂,如其他答复所述。但是,如果正在手动输入数据,或将数据从另一个应用程序复制/粘贴到旧版工作簿中,则此问题可能是由旧版单元属性问题引起的。


0

我有一个类似的问题,我所有的值都是格式(可以将数字转换为数字,将文本转换为文本,但是它被切成长文本:

...,="Long Text........",...

如果您将a放在开头,则只会看到255个首字符,因为EXCEL认为这是一个数字,因此请在开头删除=。

希望能帮助到你。


1
这与其他人在答案中已经提到的有所不同吗?这可能需要标记,并且您没有足够的代表自己进行操作,因此您可以要求主持人转换为评论。
Pimp Juice IT

0

解决方法(在Excel 2016中可用)...

选项A:通过文本导入向导(通过使用.txt文件扩展名或使用.xls扩展名,使Excel运行),接受警告,选择第一列,然后执行Data =>'Text to Columns'。然后在向导结束时将列类型从“常规”更改为“文本”。

选项B。使用“获取并转换”。数据=>新查询=>从文件=>从CSV。


考虑添加一些对此答案的参考,以支持您的陈述。
Pimp Juice IT IT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.