更改 Excel CSV 列限制

更改 Excel CSV 列限制

当我导入波浪线分隔的文本文件时,Excel 365 会在 50 列处截断它们,其余列则被默默丢弃。我找不到控制此限制的设置。如何导入超过 50 列的分隔文件?

这是文件中的一行(425 列):

Schema_InvcHead~RptLanguageID~AGAuthorizationCode~AGAuthorizationDate~AGDocConcept~AGDocumentLetter~AGInvoicingPoint~AGLegalNumber~AGPrintingControlType~AGUseGoodDefaultMark~ApplyDate~ARLOCID~AutoPrintReady~BillingDate~BillingNumber~BillToInvoiceAddress~BlockedFinChrg~BlockedFinChrgReason~BlockedRemLetters~BlockedRemLettersReason~BranchID~ChangeDate~ChangedBy~ChangeTime~CH ISRCodeLine~CMReason~CMType~CNConfirmDate~CNTaxInvoiceType~CollectionsCust~Company~Consolidated~ContractDate~ContractRef~CopyLatestInvoice~CorrectionInv~CounterARForm~CreditMemo~CurrRateDate~CustAgentName~CustAgentTaxRegNo~CustNum~CycleCode~CycleInactive~DebitNote~Deferred~DepositAmt~DepositCredit~DepUnallocatedAmt~DNComments~DNCustNbr~DocDepApplied~DocDepositAmt~DocDeposi tCredit~DocDepUnallocatedAmt~DocInvoiceAmt~DocMaxValueAmt~DocPECharges~DocPECommissions~DocPEDetTaxAmt~DocPEDischargeAmt~DocPEInterest~DocPENoPayPenalty~DocRecurBalance~DocRounding~DocumentPrinted~DocWithholdAmt~DueDate~Duration~EDIReady~EInvException~EInvoice~EInvRefNum~EInvStatus~EInvTimestamp~EInvUpdatedBy~EndDate~Excluded~ExportDocDate~ExportDocRefNum~ExportReportNo~Ex端口类型~财政日历ID~财政年份后缀~GUIDateOfExport~GUIDeductCode~GUIExportBillNumber~GUIExportBillType~GUIExportMark~GUIExportType~GUIFormatCode~GUITaxTypeCode~HeadNum~HoldInvoice~INExportProcedure~InPrice~INShippingPortCode~InstanceNum~INTaxTransactionID~InvInCollections~InvoiceAmt~InvoiceComment~InvoiceDate~InvoiceNum~InvoiceNumList~InvoiceRef~InvoiceType~IsAdded ToGTI~IsRecurring~LastChrgCalcDate~LastDate~LegalNumber~LockTaxRate~MainSite~MaxValueAmt~MXAccountNumber~MXApprovalNum~MXApprovalYear~MXCancellationMode~MXCancelledDate~MXCBB~MXCertificate~MXCertificateSN~MXCertifiedTimestamp~MXConfirmationCode~MXDigitalSeal~MXDomesticTransfer~MXExportCertOrigin~MXExportCertOriginNum~MXExportConfNum~MXExportCustDocCode~MXExportOperationTyp e~MXExternalCode~MXFiscalFolio~MXFolio~MXIncoterm~MXInvoiceRelationType~MXMovingReason~MXMovingReasonFlag~MXNumRegIdTrib~MXOriginalAmount~MXOriginalDate~MXOriginalFolio~MXOriginalSeries~MXOriginalString~MXOriginalStringTFD~MXPaidAs~MXPartPmt~MXPaymentName~MXPaymentNum~MXPostedTimeStamp~MXPurchaseType~MXResidenCountryNum~MXSATCertificateSN~MXSATSeal~MXSerie~MXTaxRcptType~MX税制~MXTotalPayments~OrdExchangeRate~OrigDueDate~OurBank~OurSupplierCode~Overpaid~OverrideEndDate~OvrDefTaxDate~PayDiscDays~PayDiscPartPay~PayDiscPer~PBProjectID~PEAPPayNum~PEBankNumber~PEBOEIsMultiGen~PEBOEPosted~PEBOEStatus~PECharges~PECommissions~PEDebitNote~PEDebitNoteReasonCode~PEDetTaxAmt~PEDetTaxCurrencyCode~PEDischargeAmt~PEDischargeDate~PEGuaranteeAddress1~PE担保地址 2~PE担保地址 3~PE担保城市~PE担保国家~PE担保名称~PE担保电话号码~PE担保州~PE担保税号~PE担保邮编~PEInterest~PENoPayPenalty~PEReasonCode~PEReasonDesc~PERefDocID~PESUNATDepAmt~PESUNATDepDate~PESUNATDepNum~PIPayment~Plant~PMUID~PONum~PostedRecog~RateGrpCode~ReadyToBill~ReadyToCalc~RealEstateNo~RecalcBeforePost~Recur余额~循环状态~循环来源~RefCancelled~RefCancelledBy~ReversalDocAmount~RevisionDate~RevisionNum~取整~Rpt1DepGainLoss~Rpt1DepositAmt~Rpt1DepUnallocatedAmt~Rpt1MaxValueAmt~Rpt1PECharges~Rpt1PECommissions~Rpt1PEDischargeAmt~Rpt1PEInterest~Rpt1PENoPayPenalty~Rpt1RecurBalance~Rpt1WithholdAmt~Rpt2DepGainLoss~Rpt2DepositAmt~Rpt2DepUnallocatedAmt~Rpt2MaxValueAmt~Rpt2 PECharges~Rpt2PECommissions~Rpt2PEDischargeAmt~Rpt2PEInterest~Rpt2PENoPayPenalty~Rpt2RecurBalance~Rpt2WithholdAmt~Rpt3DepGainLoss~Rpt3DepositAmt~Rpt3DepUnallocatedAmt~Rpt3MaxValueAmt~Rpt3PECharges~Rpt3PECommissions~Rpt3PEDischargeAmt~Rpt3PEInterest~Rpt3PENoPayPenalty~Rpt3RecurBalance~Rpt3WithholdAmt~SEBankRef~ServiceInvoice~ShipDate~SiteCode~SoldToCustNum~SoldToInvoiceAddr ess~SummarizationDate~SysRevID~SysRowID~TaxPoint~TaxRateDate~TaxRateGrpCode~TaxRegionCode~THIsImmatAdjustment~TotFinChrg~TranDocTypeID~TWDeclarePeriod~TWDeclareYear~TWGenerationType~TWGUIExportDocumentName~TWGUIExportRemarks~TWGUIExportVerification~TWGUIGroup~TWGUIRegNumBuyer~TWGUIRegNumSeller~TWPeriodPrefix~UseAltBillTo~UseAltBillToID~WithholdAmt~WithTaxConfirm~XRefContra ctDate~XRefContractNum~Division_c~Calc_BillToAddressList~Calc_BottomAddress~Calc_BTAddressList~Calc_CHBankAcctIBANCode~Calc_CHBankAcctISRPartyID~Calc_CompanyAddressList~Calc_ConReference~Calc_ConStartDate~Calc_CounterARForm~Calc_CreditMemo~Calc_CurrDesc~Calc_CurrDocDecimalsGeneral~Calc_CurrDocDecimalsPrice~Calc_CurrDocDesc~Calc_CurSymbol~Calc_CustContactName~Calc_CustEMail地址~Calc_CustFax~Calc_CustID~Calc_CustPartOpts~Calc_CustPhone~Calc_CustResaleID~Calc_DiscountTotal~Calc_DocDspTaxAmt~Calc_DocInvoiceAmt~Calc_DropShipPackSlip~Calc_DteOrdrd~Calc_ExtPriceTotal~Calc_fFOB~Calc_GuiFormatCodeDesc~Calc_InvoiceRefDate~Calc_InvoiceRefLegalNumber~Calc_InvSubTotal~Calc_InvSuffix~Calc_IsBaseCurr~Calc_IsDraftCopy~Calc_MscTotal~Calc_MtlTotal~Calc_Mu lPackNum~Calc_mulponum~Calc_MulShipDate~Calc_MulShipTo~Calc_MulShipVia~Calc_MulShpCon~Calc_MultSoldTo~Calc_MultTaxID~Calc_MXApprovalNumber~Calc_MXApprovalYear~Calc_MXCBB~Calc_MXCertificateSN~Calc_MXCertifiedTimeStamp~Calc_MXDigitalSeal~Calc_MXExpeditionAddress~Calc_MXFiscalFolio~Calc_MXFolio~Calc_MXOrigFiscalFolio~Calc_MXOrigFiscalFolioAmount~Calc_MXOrigFiscalFolioDate~Cal c_MXOrigFiscalFolioSeries~Calc_MXOriginalString1~Calc_MXOriginalString10~Calc_MXOriginalString2~Calc_MXOriginalString3~Calc_MXOriginalString4~Calc_MXOriginalString5~Calc_MXOriginalString6~Calc_MXOriginalString7~Calc_MXOriginalString8~Calc_MXOriginalString9~Calc_MXOriginalStringTFD~Calc_MXPaidAs~Calc_MXPaymentAccountNum~Calc_MXPaymentMethod~Calc_MXPaymentNum~Calc_MXSATCerti ficateSN~Calc_MXSATSeal~Calc_MXSerie~Calc_MXTaxRegime~Calc_MXTotalPayments~Calc_NumRecordPerPage~Calc_NumTotalParts~Calc_PackNum~Calc_PELegalText~Calc_PeriodEndDate~Calc_PPAllowPcnt~Calc_PrintBottomAddress~Calc_RefInvAmt~Calc_RefInvNum~Calc_RevisionDate~Calc_RevisionNum~Calc_RUBTLegalName~Calc_RUCorrToInvDate~Calc_RUCorrToInvLegalNumber~Calc_RUCorrToInvRevDate~Calc_RUCorrToInvRevNum~Calc_RULessDeposits~Calc_RusNumber~Calc_SalesPerson~Calc_SalesTerms~Calc_SEBankRef~Calc_ShipDate~Calc_ShipTo~Calc_ShipToAddressList~Calc_ShipToContactName~Calc_ShipVia~Calc_ShpConNum~Calc_SoldToAddressList~Calc_SubTotal~Calc_TaxMethod~Calc_TotalMiscChrg~Calc_vDocPayAmounts~Calc_VoucherString~Calc_Voucher-String~Calc_vPayAmounts~Calc_vPayDates~CurrencyCode_CurrDesc~CurrencyCode_CurrN名称~货币代码_CurrSymbol~货币代码_DocumentDesc~客户_BT 名称~客户_CustID~客户_名称~客户_贸易伙伴名称~FOB_交货条款~FOB_说明~工厂_地址 1~工厂_地址 2~工厂_地址 3~工厂_城市~工厂_公司~工厂_国家编号~工厂_名称~RMANum_RMADate~RMANum_RMANum~RMANum_ShipToNum~RMANum_XRefRMANumber~条款代码_说明~条款代码_付款数量~条款代码_条款代码~

如果我将此行单独放入文件中并尝试将其导入 Excel,则选择分隔符的选项会消失(不是禁用,而是完全从 UI 中消失),并且会将其视为单列。OO Calc 可以毫无问题地导入单行或完整文件。

答案1

通过一点点测试,似乎数据>来自文本/CSV 不会提示您解析文件并将其拆分成列(无需其他手动步骤)。

我已经测试过此方法,它适用于 Excel 365(版本 1805;感谢您对浏览按钮的注释):

  1. 在 Excel 中,导航至“文件”>“打开”
  2. 选择浏览,弹出文件选择对话框
  3. 将文件类型下拉菜单从“所有 Excel 文件”更改为“所有文件 (*.*)”
  4. 导航到并选择您的波浪号分隔文件

此时应显示文本导入向导

  1. 在“原始数据类型”部分中,确保选择了“分隔符”,然后单击“下一步”
  2. 在分隔符部分,取消选中 Tab 并选中其他;在其他旁边的框中输入 ~,然后单击下一步

其他评论提到了“将连续分隔符视为一个”选项,它在此屏幕上。请将其保留为未选中状态,但如果没有获得预期的结果,请选中该选项后重试

  1. 文本导入向导的第三步也是最后一步为您提供了解析数据的预览,并允许您更改列的数据类型。进行任何您想要的更改,然后单击“完成”
  2. 您应该会在 Excel 工作表中看到您所期望的数据以及所有您所期望的列。

答案2

尝试这个简短的 VBA 宏:

Sub tildaReader()
    FilesToOpen = Application.GetOpenFilename
    Close #1
   Open FilesToOpen For Input As #1

   j = 1
   Do While Not EOF(1)
        Line Input #1, TextLine
        arr = Split(TextLine, "~")
        Cells(j, 1).Resize(1, UBound(arr) + 1).Value = arr
        j = j + 1
   Loop

   Close #1
End Sub

典型文件:

在此处输入图片描述

结果:

在此处输入图片描述

编辑#1:

宏的安装和使用非常容易:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

在此处输入图片描述

如果您保存工作簿,宏将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx

消除宏:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

使用Excel 窗口中的宏:

  1. ALT-F8
  2. 选择宏
  3. 触摸运行

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

必须启用宏才能使其工作!

相关内容