假设DataGrid有一个标题行,一个标题列
dim tempstring as stringopen "c:\1.txt" for append access write as #1
for i=1 to datagrid.row
    tempstring=""
    for j=1 to datagrid.col
        datagrid.row=i
        datagrid.col=j
        if j=1 then
           tempstring=datagrid.text
        else
           tempstring = tempstring & "," & datagrid.text
        end if
    next
    
    print #1,tempstring
nextclose #1

解决方案 »

  1.   


    为什么1.txt里面什么也没有存上,即没有datagrid的数据输出到1.txtopen "c:\1.txt" for append access write as #1
    这里面的access是做什么用的?如果要输出到数据库该怎样写?
      

  2.   

    你输出看看tempstring 的值是什么?
      

  3.   

    hsn1982的方法才是正确的方法。
      

  4.   

    没有必要从datagrid导出数据,你可以用ADO的recordset对象的save方法来搞定。
    save的使用说明:
    将 Recordset 保存(持久)在文件中。
    语法
    recordset.Save FileName, PersistFormat 
    参数
    FileName   可选。文件的完整路径名,用于保存 Recordset。
    PersistFormat   可选。PersistFormatEnum 值,指定保存 Recordset 所使用的格式。可以是如下的某个常量:
    常量                         说明 
    adPersistADTG (默认)   使用专用的“Advanced Data Tablegram”格式保存。 
    adPersistXML         使用 XML 格式保存。 
    说明
    只能对打开的 Recordset 调用 Save 方法。随后使用 Open 方法可由 FileName 恢复 Recordset。
    在第一次保存 Recordset 时指定 FileName。如果随后调用 Save 时,应忽略 FileName,否则将产生运行时错误。如果随后使用新的 FileName 调用 Save,那么 Recordset 将保存到新的文件中,但新文件和原始文件都是打开的。Save 不关闭 Recordset 或 FileName,从而可以继续使用 Recordset 并保存最新的更改。在 Recordset 关闭之前 FileName 将保持打开,在这段时间其它应用程序可以读取但不能写入 FileName。如果正在进行异步 Recordset 获取、执行或更新操作时调用 Save 方法,则 Save 将进入等待状态,直到异步操作完成。在 Save 方法完成后,当前行位置将成为 Recordset 的首行。要得到最佳结果,应使用 Save 将 CursorLocation 属性设置为 adUseClient。如果您的提供者不支持用于保存 Recordset 对象的所需功能,则客户端游标将提供该功能。