如何将内容输入现有的 CSV 文件

How to enter content to an existing CSV file

我试图逐个单元格地向 CSV 文件中输入数据,但是当我打开它时,我得到了 CSV 文件的 A 列中的所有内容,并用“,”(逗号)分隔。

我正在尝试以下方式:

oExcel = CREATEOBJECT("Excel.Application")
oWorkBook=oExcel.Workbooks.Open("c:\planilla.csv")
oExcel.application.Cells(1,1).Value = "StockCode"
oExcel.application.Cells(1,2).Value = "In-Stock"
oExcel.application.Cells(1,3).Value = "Kit"
oWorkbook.Save()
oWorkbook.Close()
oExcel.Quit()

RELEASE oWorkbook
RELEASE oExcel

打开 CSV 文档时,输出在单个单元格(A 列)中,如下所示: StockCode, In-Stock, Kit.

希望你能帮助我,问候

首先,我不明白您为什么要尝试使用 Excel 对象来创建 csv 文件。为什么不用 VFP 中的命令直接创建一个 csv 文件?

其次,我确实尝试了您的示例,它确实创建了一个单元格,其中 3 个项目由 2 个制表符分隔。但是,如果我对 xlsx 文件(一个实际的 Excel 工作簿)做同样的事情,你的例子就可以了。我不认为 Excel 办公自动化对象曾用于 CSV 文件。

如果您需要输出到 CSV 文件,您可以使用 VFP 命令执行此操作,而无需创建 Excel 对象。

看到您的评论...在 VFP 中尝试运行:

* create cursor and some records
CREATE CURSOR test (nid i, stockcode c(10),instock i,kit c(20), lincsv l)
INSERT INTO test (nid,stockcode,instock,kit,lincsv) VALUES (1,"SC-001",10,"kit001",.f.)
INSERT INTO test (nid,stockcode,instock,kit,lincsv) VALUES (2,"SC-010",0,"kit003",.f.)
INSERT INTO test (nid,stockcode,instock,kit,lincsv) VALUES (3,"SC-200",5,"kit010",.f.)
* call function to add records to csv file
=AddToCSV()
* insert a couple more records to cursor
INSERT INTO test (nid,stockcode,instock,kit,lincsv) VALUES (4,"SC-201",6,"kit001",.f.)
INSERT INTO test (nid,stockcode,instock,kit,lincsv) VALUES (5,"SC-005",520,"kit099",.f.)
* call function again to add new records to existing csv file
=AddToCSV()

FUNCTION AddToCSV
* open csv file (create if it doesn't exist, add to existing)
SET ALTERNATE TO c:\temp\planilla.csv ADDITIVE 
SET ALTERNATE ON 
SCAN FOR NOT linCSV
    ?? stockcode + ","
    ?? instock
    ?? "," + kit
    replace lincsv WITH .t.
    ?
ENDSCAN
SET ALTERNATE OFF 
SET ALTERNATE TO 
RETURN