Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Excel 2016中创建XML文件_Xml_Excel - Fatal编程技术网

在Excel 2016中创建XML文件

在Excel 2016中创建XML文件,xml,excel,Xml,Excel,我试图用电子表格上的一些信息创建一个XML文件。我开始学习一个教程,但是当我试图导入我的模式时,它给了我一个很好的解释。我们正在创建它,以便一个软件能够接收数据并将其投入使用。我联系的那个人说它不需要模式,所以不知道如何在没有模式的情况下创建这个XML文件 请看我的。不太清楚我应该做什么,但你会看到该公司关于其设计的PDF文件 也许它很简单,我只是不知道如何开始 从技术上讲,.xml模式文件不是真正的.xsd模式文件,只是所需输出的一个片段。要将电子表格数据导出为xml格式,您需要一个模式文件来

我试图用电子表格上的一些信息创建一个XML文件。我开始学习一个教程,但是当我试图导入我的模式时,它给了我一个很好的解释。我们正在创建它,以便一个软件能够接收数据并将其投入使用。我联系的那个人说它不需要模式,所以不知道如何在没有模式的情况下创建这个XML文件

请看我的。不太清楚我应该做什么,但你会看到该公司关于其设计的PDF文件


也许它很简单,我只是不知道如何开始

从技术上讲,.xml模式文件不是真正的.xsd模式文件,只是所需输出的一个片段。要将电子表格数据导出为xml格式,您需要一个模式文件来将单元数据映射到节点数据,并指定数据类型、引用和长度

下面是一个简单的.xsd,用于将所需的输出与
根节点、
重复节点以及子节点匹配为字符串格式的节点:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element nillable="true" name="PartsReports">
        <xsd:complexType>
            <xsd:sequence minOccurs="0">
                <xsd:element minOccurs="0" maxOccurs="unbounded" nillable="true" name="Parts" form="unqualified">
                    <xsd:complexType>
                        <xsd:sequence minOccurs="0">
                            <xsd:element minOccurs="0" nillable="true" type="xsd:string" name="Part_No" form="unqualified"/>
                            <xsd:element minOccurs="0" nillable="true" type="xsd:string" name="Part_Prim_Desc" form="unqualified"/>
                            <xsd:element minOccurs="0" nillable="true" type="xsd:string" name="Part_Secd_Desc" form="unqualified"/>
                            <xsd:element minOccurs="0" nillable="true" type="xsd:string" name="Supp" form="unqualified"/>
                            <xsd:element minOccurs="0" nillable="true" type="xsd:string" name="SupplierCode" form="unqualified"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

将映射导入工作簿(Developer选项卡->XML部分->源)后,向下遍历每个节点并指定列范围(即,Part_No-A2:A52312):

完成所有操作后,只需在通常的“另存为”对话框中以XML格式保存工作簿

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PartsReports xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Parts>
        <Part_No>E100001</Part_No>
        <Part_Prim_Desc>PCB IKON REV B</Part_Prim_Desc>
        <Part_Secd_Desc>223</Part_Secd_Desc>
        <Supp>H065</Supp>
        <SupplierCode>TN01492  - ISSUE B</SupplierCode>
    </Parts>
    <Parts>
        <Part_No>E100002</Part_No>
        <Part_Prim_Desc>PCB P095 AMF DISPLAY</Part_Prim_Desc>
        <Part_Secd_Desc/>
        <Supp>C104</Supp>
        <SupplierCode>P095</SupplierCode>
    </Parts>
    <Parts>
        <Part_No>E100003</Part_No>
        <Part_Prim_Desc>PCB P042 AMF</Part_Prim_Desc>
        <Part_Secd_Desc>(50 OFF)</Part_Secd_Desc>
        <Supp>H065</Supp>
        <SupplierCode>TN02367</SupplierCode>
    </Parts>
    <Parts>
        <Part_No>E100004</Part_No>
        <Part_Prim_Desc>PCB P010 KEYSTART</Part_Prim_Desc>
        <Part_Secd_Desc/>
        <Supp>H065</Supp>
        <SupplierCode>TN05852</SupplierCode>
    </Parts>
...

E100001
印刷电路板IKON版本B
223
H065
TN01492-问题B
E100002
PCB P095 AMF显示器
C104
P095
E100003
PCB P042 AMF
(50人)
H065
TN02367
E100004
PCB P010按键启动
H065
TN05852
...

您的代码中哪一位出现错误?嗨,蒂姆,错误图片显示第1行第37列?但是我没有37列,所以我不太确定:/非常感谢冻糕!我现在要看一看,然后让我的联系人运行它,看看这是否有效。你是个明星,非常感谢!:)冻糕,我有一个新的迪勒玛。这很好,再次感谢,但是我需要标记“Part_No”、“Part_Prim_Desc”、“Supp”和“SupplierCode”变成:应该改成应该改成应该改成应该改成,但是当我尝试这样做时,我得到了一个与列相关的错误,您需要向xsd添加属性元素。但是,在xsd中添加文本和属性很困难,在Excel中可能不允许。此外,行动必须有一定的价值。现在,我可以设置为
textvalue
。考虑原始XML导出,然后运行XSLT(XML转换)到最终期望的结果。好的,现在我正在将crystal报表导出到excel,然后使用您构建的XSD将其转换为XML。在看到您提到XSLT之后,我在crystal中的遗留XML选项中看到了这个选项。我想知道直接从中导出是否更容易?当crystal从我们的MRP数据库中提取信息时,直接从那里生成XML可能更好?您是否熟悉Crystal reports以及此功能?我今天会调查这件事。干杯