求助,如何将vc中MFC程序中数据导出到excel表中,如何将excel表中数据再导入到access数据库中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助,如何将vc中MFC程序中数据导出到excel表中,如何将excel表中数据再导入到access数据库中?相关的知识,希望对你有一定的参考价值。

环境是VS2005, access2003

参考技术A ADO方式读写数据库。将excel和mdb都当作数据库来读写操作即可。

将数据导出到 XML 以在 Excel 中打开

【中文标题】将数据导出到 XML 以在 Excel 中打开【英文标题】:Exporting data to XML to be opened in Excel 【发布时间】:2012-03-20 10:34:09 【问题描述】:

我有一个关于将数据保存到要由 Microsoft Excel 打开的 XML 文件的问题。我在 Visual C++ 中使用 MFC 构建了一个报表控件,并且我一直在使用简单的 CSV(逗号分隔值)文件将数据导出到 Excel。 CSV 方法运行良好,因为它在 Excel 上显示报告中的所有行和列。

然而,当必须保存每列的数据类型时,问题就出现了,因为 CSV 方法在导出数据时会忽略数据类型,因为一旦在 Excel 中打开,它将以字符串形式显示所有单元格。报告中单元格的数据类型很重要,因为一旦在 Excel 中导出(或打开),我的客户将对报告数据运行宏。

我希望使用 XML 来克服这个问题。是否可以使用 XML 保存数据类型,因为它提供格式和架构?您能否给我任何链接或任何指针,以允许自定义应用程序使用 XML 来保存要在 Excel 中打开的数据,同时保留数据类型?

提前致谢。

【问题讨论】:

抱歉,我的回答对你有用还是我跑题了? 【参考方案1】:

如果您在 Excel 中创建并打开这样的 XML 文件:

<rows>
  <row>
    <name>Name 1</name>
    <number>123.45</number>
    <date>2012-03-21</date>
  </row>
  <row>
    <name>Name 2</name>
    <number>678.01</number>
    <date>2012-03-22</date>
  </row>
</rows>

Excel 在自动识别数据类型方面做得很好——尽管 XML 没有关联的架构,但它会抱怨。

要将架构与 XML 关联,请创建 XML 架构文件 (rows.xsd):

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="rows">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="row" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="name" type="xs:string"/>
              <xs:element name="number" type="xs:float"/>
              <xs:element name="date" type="xs:date"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

然后你在你的 XML 中引用它:

<rows xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="rows.xsd">
  <row>
    <name>Name 1</name>
    <number>123.45</number>
    <date>2012-03-21</date>
  </row>
  <row>
    <name>Name 2</name>
    <number>678.01</number>
    <date>2012-03-22</date>
  </row>
</rows>

在架构文件中,您可以指定数据的类型并描述您的结构 - 但您必须知道不重要的 XSD 语法。

另请参阅:http://support.microsoft.com/kb/827294(请注意,它说的是“XSL”,而应该说“XSD”)

【讨论】:

以上是关于求助,如何将vc中MFC程序中数据导出到excel表中,如何将excel表中数据再导入到access数据库中?的主要内容,如果未能解决你的问题,请参考以下文章

MFC读入导出到EXCEL

紧急求助!asp.net中如何将表中数据导出excel。重谢!!!!!

求助,求向access2003版本数据库中加入新纪录的程序代码(VC6.0,MFC,ADO)

jquery把jqgrid中数据导出excel表格求助

如何将三个Vc++的MFC程序合并成一个

VC++的MFC对话框上怎么显示Excel表格