不能大于 65,536 行的文本文件导入到 Excel 97、 Excel 2000、 Excel 2002 和 Excel 2003

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 120596
概要
在 Windows、 Microsoft Excel 2000、 Microsoft Excel 2002,和 Microsoft Office Excel 2003 的 Microsoft Excel 97,无法完整地打开文本文件,包含超过 65,536 行。您不能打开这些文件,因为这些版本的 Microsoft Excel 仅限于 65,536 行。如果您打开一个文件包含比这更多的数据,该文本文件则截尾取整行 65,536,并您会收到以下错误消息:
不完全加载的文件。
但是,您可以使用宏来打开该文件,并自动将文本分为多个工作表

备注

Excel 97 更早版本的 Excel 具有 16,384 行的限制。

更高版本的 Excel 于 Excel 2003 有 1,048,576 行的限制。
更多信息
Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证。这包括,但不限于对适销性或针对特定用途的适用性的暗示的担保。本文假定您熟悉演示了正在使用的编程语言以及用于创建和调试过程的工具。Microsoft 支持工程师可以帮助解释某个特定过程的功能。但是,他们不会修改这些示例以提供额外的功能或构建过程来满足您的具体要求。下面的示例宏提示您输入文本的文件名称,然后再打开到内存中的文件。超过 65,536 的 Excel 工作表限制行数是否该宏会将文件分成多个工作表。该宏只适用于保存为文本文件,并不能应用于任何其他文件格式的文件。使用数据库的文件格式时宏无法正常工作。

请注意这是一个宏使用它可能比在 文件 菜单上单击 打开 的速度要慢得。
   'All lines that begin with an apostrophe (') are remarks and are not   'required for the macro to run.				
   Sub LargeFileImport()      'Dimension Variables      Dim ResultStr As String      Dim FileName As String      Dim FileNum As Integer      Dim Counter As Double      'Ask User for File's Name      FileName = InputBox("Please enter the Text File's name, e.g. test.txt")      'Check for no entry      If FileName = "" Then End      'Get Next Available File Handle Number      FileNum = FreeFile()      'Open Text File For Input      Open FileName For Input As #FileNum      'Turn Screen Updating Off      Application.ScreenUpdating = False      'Create A New WorkBook With One Worksheet In It      Workbooks.Add template:=xlWorksheet      'Set The Counter to 1      Counter = 1      'Loop Until the End Of File Is Reached      Do While Seek(FileNum) <= LOF(FileNum)         'Display Importing Row Number On Status Bar          Application.StatusBar = "Importing Row " & _             Counter & " of text file " & FileName          'Store One Line Of Text From File To Variable          Line Input #FileNum, ResultStr          'Store Variable Data Into Active Cell          If Left(ResultStr, 1) = "=" Then             ActiveCell.Value = "'" & ResultStr          Else             ActiveCell.Value = ResultStr          End If                    'For Excel versions before Excel 97, change 65536 to 16384          If ActiveCell.Row = 65536 Then             'If On The Last Row Then Add A New Sheet             ActiveWorkbook.Sheets.Add          Else             'If Not The Last Row Then Go One Cell Down             ActiveCell.Offset(1, 0).Select          End If          'Increment the Counter By 1          Counter = Counter + 1      'Start Again At Top Of 'Do While' Statement      Loop      'Close The Open Text File      Close      'Remove Message From Status Bar      Application.StatusBar = False   End Sub				
注意 宏不分析到列的数据。在使用该宏后还可能需要分析数据,根据需要使用在 数据 菜单上的 文本到列 命令。 当在一个 Macintosh 中运行此宏,并正试图打开在桌面上的文件必须在具有以下文件名称前加上
Hard disk: 桌面文件夹:
其中,Hard disk 是硬盘的您的名称。请注意桌面和文件夹单词之间没有空格。
97 8.00 5.00a 5.00 c 导入 ascii xl97 xl7 xl5 XL XL2007 Excel2007

警告:本文已自动翻译

属性

文章 ID:120596 - 上次审阅时间:05/07/2007 20:43:09 - 修订版本: 4.2

Microsoft Excel 97 标准版, Microsoft Excel 2000 标准版, Microsoft Excel 2002 标准版, Microsoft Office Excel 2003, Microsoft Office Excel 2007

  • kbmt kbimport kbhowto kbcode KB120596 KbMtzh
反馈