excel字段截断问题

1, 由于注册表中Excel驱动设置值问题:

http://support.microsoft.com/kb/189897/ 数据截断为 255 个字符与 ExcelODBC 驱动程序。对应英文版:http://support.microsoft.com/?scid=kb%3Ben-us%3B189897&x=6&y=9 Data truncated to 255 characters with Excel ODBC driver

要更改该设置对 TypeGuessRows 值, 请按照下列步骤操作:

1.

关闭任何正在运行的程序。

2.

在开始菜单上, 单击运行。 类型 regedit 然后单击确定。

3.

在注册表编辑器, 展开以下项取决于 Excel, 您运行的版本: • Excel 97 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel • Excel 2000 及更高版本 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

4.

选择 TypeGuessRows 然后编辑菜单上单击修改。

5.

在编辑 DWORD 值对话框中, 单击文章下 Decimal。 键入一个值介于 0 和 16, 含, 对数值数据。 单击确定, 退出注册表编辑器。

备注: TypeGuessRows 该值设置为零 (0) 如果您 Excel 表是大型不建议对于性能原因。 当此值被设置为零, MicrosoftExcel 将扫描您表以确定每列中的数据类型中所有记录。

2,手动拆分

http://www.ozgrid.com/forum/showthread.php?t=47705 VBA split information in one cell to muliple cells

Data > Text to Columns.. with delimiter as Comma(,)

数据–>分列…–>按分隔符或定宽

3,拆分EXCEL单元格内容的VBA源码:

http://en.allexperts.com/q/Excel-1059/split-cell-values.htm split cell values

Assuming that the cell is divided by the Chr(10) character, goto VBA (Alt F11), Insert/Module and paste the following there:

Public Sub Split()

n = 1

strt = 1

For i = 1 To Len(Selection)

If Mid(Selection, i, 1) = Chr(10) Then

Selection.Offset(0, n) = Mid(Selection, strt, i - strt)

strt = i + 1

n = n + 1

End If

Next i

Selection.Offset(0, n) = Mid(Selection, strt, i - strt)

End Sub

Select a cell you want to split and run the Macro (Alt F8, select Split/Run). The individual values are output to the right. There is no error checking and it will overwrite anything that is already there.

4,其它:

简单excel表格转为VFP后,长字符串被截取的问题

对数据库操作不熟的我,要处理一些简单表的话,使用EXCEL再好不够了,类似表格排序或是数据累加填充之类的功能,非常实用。但是以前经常碰到这样的问 题:单元格如果有较长的文本数据,导出为DBF数据库后,都会被截取,导致数据损坏(如身份证号被截断为几位数字)。

以前没有刻意的去追究是什么 原因,今天偶然发现,是因为EXCEL在调整栏位宽后,如果再把表格导出为DBF表的话,默认的DBF字段宽度不是按某单元格数据长短来定,而是依 EXCEL显示的栏位宽度来定,这样,生成的DBF数据库,有些字段就被截断了。解决的简单方法当然也就是在EXCEL里调整栏位宽度了,虽说不用使劲拉 宽,但至少让数据最多的那个单元格能完全露出脸来,再导数据就不会有问题了。

5,ACCESS中的EXCEL报表字段被截断问题:

http://support.microsoft.com/kb/294286/zh-cn 输出到 Access 2002 中 Excel 报表时截断备注字段。对应英文版:http://support.microsoft.com/?scid=kb%3Ben-us%3B294286&x=8&y=5 Memo field is truncated when you output a report to excel in Access 2002