1

我在 PHP 中有一个 Excel 生成脚本,可以在原始应用程序中生成 Excel 文件。使用第二个应用程序,我根本无法生成 Excel 文件。

我得到的错误是:

替换部分:/xl/worksheets/sheet1.xml 部分带有 XML 错误。在同一个开始标签或空元素标签中,任何属性名称都不能出现多次。第 2 行,第 1245 列。

为什么我会收到此错误,我该如何解决?

PHP 代码段

<?php
        //session_start();
        require_once(dirname(__FILE__).'/../../session.php');
        require_once(dirname(__FILE__).'/../../shared/database/database.php');
        require_once(dirname(__FILE__).'/../../shared/scripts/userManager.php');
        require_once(dirname(__FILE__).'/../../shared/database/grid.php');
        require_once(dirname(__FILE__).'/../../shared/lib/opentbs/tbs_class.php'); // Load the TinyButStrong template engine
        require_once(dirname(__FILE__).'/../../shared/lib/opentbs/tbs_plugin_opentbs.php'); // Load the OpenTBS plugin
        require_once(dirname(__FILE__).'/../actionitems/manageActionItems.php');
        require_once(dirname(__FILE__).'/../../shared/scripts/manageProjects.php');
        require_once(dirname(__FILE__).'/../../adminpanel/categories/manageCategories.php');

        // Initialize the TBS instance
        $TBS = new clsTinyButStrong(); // new instance of TBS
        $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // load the OpenTBS plugin

        // -----------------
        // Load the template
        // -----------------

        $template = 'ActionItemSummaryReport.xlsx';
        $TBS->LoadTemplate($template, OPENTBS_ALREADY_UTF8); // Also merge some [onload] automatic fields (depends of the type of document).

        // ----------------------
        // Debug mode of the demo
        // ----------------------
        if (true || isset($_POST['debug']) && ($_POST['debug']=='current')) $TBS->Plugin(OPENTBS_DEBUG_XML_CURRENT, true); // Display the intented XML of the current sub-file, and exit.
        if (true || isset($_POST['debug']) && ($_POST['debug']=='info'))    $TBS->Plugin(OPENTBS_DEBUG_INFO, true); // Display information about the document, and exit.
        if (true || isset($_POST['debug']) && ($_POST['debug']=='show'))    $TBS->Plugin(OPENTBS_DEBUG_XML_SHOW); // Tells TBS to display information when the document is merged. No exit.

        // --------------------------------------------
        // Merging and other operations on the template
        // --------------------------------------------
        $manageActionItems = new ManageActionItems(array(), array(), $_SESSION['ProjectID']);
        $actionItems = $manageActionItems->getAllActionItems();
        $manageCategories = new ManageCategories();
        $data = array();


        foreach($actionItems as $actionItem)
        {
                $actionItemID = $actionItem['ActionItemID'];
                $actionItemTitle = $actionItem['ActionItemTitle'];
                $actionItemStatement = $actionItem['ActionItemStatement'];
                $ownerLastFirst = $manageActionItems->getUser($actionItem['OwnerID']);

                $assignedDate  = $manageActionItems->formatDate($actionItem['AssignedDate']);
                $originalDueDate  = $manageActionItems->formatDate($actionItem['DueDate']);
                $ecd = $manageActionItems->formatDate($actionItem['ECD']);
                $closureDate = $manageActionItems->formatDate($actionItem['ClosedDate']);
                $completionDate = $manageActionItems->formatDate($actionItem['CompletionDate']);

                $closureCriteria = $actionItem['ClosureCriteria'];

                $category1 = $actionItem['Category1'];
                $category2 = $actionItem['Category2'];

                $category3 = $actionItem['Category3'];
                $category4 = $actionItem['Category4'];
                $notes = $actionItem['Notes'];

                $altOwner = $actionItem['AltOwner'];
                $criticality = $actionItem['Criticality'];
                $assignor = $actionItem['Assignor'];


                array_push($data, array(
                    'ActionItemID' => $actionItemID,
                    'ActionItemTitle' => $actionItemTitle,
                    'AssignedDate' => str_replace('00/00/0000', "", $assignedDate),
                    'DueDate' => str_replace('00/00/0000', "", $originalDueDate),
                    'ECD' => str_replace('00/00/0000', "", $ecd),
                    'Owner' => $ownerLastFirst,
                    'ClosedDate' => str_replace('00/00/0000', "", $closureDate),
                    'CompletionDate' => str_replace('00/00/0000', "", $completionDate),
                    'Criticality' => $criticality,
                    'Assignor' => $assignor,
                    'AltOwner' => $altOwner,
                    'Category1' => $manageCategories->getCategoryValue($category1),
                    'Category2' => $manageCategories->getCategoryValue($category2),
                    'Category3' =>$manageCategories->getCategoryValue($category3),
                    'Category4' => $manageCategories->getCategoryValue($category4),
                    'Notes' => $notes
                    //'ActionItemStatement' => $actionItemStatement,
                    //'ClosureCriteria' => $closureCriteria,
                    //'ClosureStatement' => ''
                ));
        }

        $categoryNames  = array();
        array_push($categoryNames, array(
        'Category1Name' => $manageCategories->getCategoryName('1'),
        'Category2Name' => $manageCategories->getCategoryName('2'),
        'Category3Name' => $manageCategories->getCategoryName('3'),
        'Category4Name' => $manageCategories->getCategoryName('4')
         ));

        $TBS->MergeBlock('a', $data);
        $TBS->MergeBlock('b', $categoryNames);

        $manageProjectName = new ManageProjects();
        $project = array('ProjectName' => $manageProjectName->getProjects());
        $TBS->MergeField('p', $project);


    // Define the name of the output file
        $save_as = (isset($_POST['save_as']) && (trim($_POST['save_as'])!=='') && ($_SERVER['SERVER_NAME']=='localhost')) ? trim($_POST['save_as']) : '';
        $output_file_name = str_replace('.', '_'.date('Y-m-d').$save_as.'.', 'ActionItemSummaryReport.xlsx');
        if ($save_as==='') {
            // Output the result as a downloadable file (only streaming, no data saved in the server)
            $TBS->Show(OPENTBS_DOWNLOAD, $output_file_name); // Also merges all [onshow] automatic fields.
            // Be sure that no more output is done, otherwise the download file is corrupted with extra data.
            exit();
        } else {
            // Output the result as a file on the server.
            $TBS->Show(OPENTBS_FILE, $output_file_name); // Also merges all [onshow] automatic fields.
            // The script can continue.
            exit("File [$output_file_name] has been created.");
        }
?>

如果有帮助,这里是我的合并输出。

* OPENTBS DEBUG MODE: if the star, (*) on the left before the word OPENTBS, is not the very first character of this page, then your
merged Document will be corrupted when you use the OPENTBS_DOWNLOAD option. If there is a PHP error message, then you have to fix it.
If they are blank spaces, line beaks, or other unexpected characters, then you have to check your code in order to avoid them.

------------------------------
INFORMATION
------------------------------
* Debug command: OPENTBS_DEBUG_XML_CURRENT
* OpenTBS version: 1.9.5
* TinyButStrong version: 3.10.1
* PHP version: 5.5.12YES
* Opened document: ActionItemSummaryReport.xlsx
* Activated features for document type: openxml/xlsx
* Deleted files in the archive:
  - xl/calcChain.xml
* Added files in the archive: none
* Modified files in the archive:
  - xl/_rels/workbook.xml.rels
  - xl/worksheets/sheet1.xml

------------------------------
File merged with OpenTBS (XML reformated for debuging only): xl/_rels/workbook.xml.rels
------------------------------
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
 <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/>
 <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet2.xml"/>
 <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/>
 <Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings" Target="sharedStrings.xml"/>
 <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/>
</Relationships>
------------------------------
File merged with OpenTBS (XML reformated for debuging only): xl/worksheets/sheet1.xml
------------------------------
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac">
 <dimension ref="A1:P107"/>
 <sheetViews>
  <sheetView tabSelected="1" zoomScaleNormal="100" workbookViewId="0">
   <pane ySplit="2" topLeftCell="A3" activePane="bottomLeft" state="frozen"/>
   <selection pane="bottomLeft" sqref="A1:A1048576"/>
  </sheetView>
 </sheetViews>
 <sheetFormatPr defaultColWidth="11.42578125" defaultRowHeight="15" x14ac:dyDescent="0.25"/>
 <cols>
  <col min="1" max="1" width="14.7109375" hidden="1" customWidth="1"/>
  <col min="2" max="3" width="14.7109375" customWidth="1"/>
  <col min="4" max="4" width="14.7109375" style="10" customWidth="1"/>
  <col min="5" max="6" width="13.5703125" style="10" customWidth="1"/>
  <col min="7" max="8" width="16" style="10" customWidth="1"/>
  <col min="9" max="9" width="12" customWidth="1"/>
  <col min="10" max="14" width="14.7109375" customWidth="1"/>
  <col min="16" max="16" width="20.85546875" bestFit="1" customWidth="1"/>
 </cols>
 <sheetData>
  <row r="1" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B1" s="6" t="s">
    <v>
     32
    </v>
   </c>
  </row>
  <row r="2" spans="1:16" s="6" customFormat="1" x14ac:dyDescent="0.25">
   <c r="A2" s="7" t="s">
    <v>
     1
    </v>
   </c>
   <c r="B2" s="7" t="s">
    <v>
     13
    </v>
   </c>
   <c r="C2" s="7" t="s">
    <v>
     23
    </v>
   </c>
   <c r="D2" s="9" t="s">
    <v>
     4
    </v>
   </c>
   <c r="E2" s="9" t="s">
    <v>
     5
    </v>
   </c>
   <c r="F2" s="9" t="s">
    <v>
     2
    </v>
   </c>
   <c r="G2" s="9" t="s">
    <v>
     18
    </v>
   </c>
   <c r="H2" s="9" t="s">
    <v>
     6
    </v>
   </c>
   <c r="I2" s="7" t="s">
    <v>
     20
    </v>
   </c>
   <c r="J2" s="7" t="s">
    <v>
     7
    </v>
   </c>
   <c r="K2" s="7" t="s">
    <v>
     9
    </v>
   </c>
   <c r="L2" s="7" t="s">
    <v>
     11
    </v>
   </c>
   <c r="M2" s="7" t="s">
    <v>
     28
    </v>
   </c>
   <c r="N2" s="7" t="s">
    <v>
     29
    </v>
   </c>
   <c r="O2" s="7" t="s">
    <v>
     30
    </v>
   </c>
   <c r="P2" s="7" t="s">
    <v>
     31
    </v>
   </c>
  </row>
  <row r="3" spans="1:16" s="3" customFormat="1" x14ac:dyDescent="0.25">
   <c r="A3" s="1" t="s">
    <v>
     3
    </v>
   </c>
   <c r="B3" s="1" t="e">
    <f>
     VALUE(A:A)
    </f>
    <v>
     #VALUE!
    </v>
   </c>
   <c r="C3" s="1" t="s">
    <v>
     22
    </v>
   </c>
   <c r="D3" s="8" t="s">
    <v>
     14
    </v>
   </c>
   <c r="E3" s="8" t="s">
    <v>
     15
    </v>
   </c>
   <c r="F3" s="8" t="s">
    <v>
     16
    </v>
   </c>
   <c r="G3" s="8" t="s">
    <v>
     19
    </v>
   </c>
   <c r="H3" s="8" t="s">
    <v>
     17
    </v>
   </c>
   <c r="I3" s="8" t="s">
    <v>
     21
    </v>
   </c>
   <c r="J3" s="1" t="s">
    <v>
     8
    </v>
   </c>
   <c r="K3" s="1" t="s">
    <v>
     10
    </v>
   </c>
   <c r="L3" s="2" t="s">
    <v>
     12
    </v>
   </c>
   <c r="M3" s="2" t="s">
    <v>
     24
    </v>
   </c>
   <c r="N3" s="2" t="s">
    <v>
     25
    </v>
   </c>
   <c r="O3" s="1" t="s">
    <v>
     26
    </v>
   </c>
   <c r="P3" s="1" t="s">
    <v>
     27
    </v>
   </c>
  </row>
  <row r="4" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B4" s="5"/>
  </row>
  <row r="5" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B5" s="5"/>
  </row>
  <row r="6" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B6" s="5"/>
  </row>
  <row r="7" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B7" s="5"/>
  </row>
  <row r="8" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B8" s="5"/>
  </row>
  <row r="9" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B9" s="5"/>
  </row>
  <row r="10" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B10" s="5"/>
  </row>
  <row r="11" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B11" s="5"/>
  </row>
  <row r="12" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B12" s="5"/>
  </row>
  <row r="13" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B13" s="5"/>
  </row>
  <row r="14" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B14" s="5"/>
  </row>
  <row r="15" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B15" s="5"/>
  </row>
  <row r="16" spans="1:16" x14ac:dyDescent="0.25">
   <c r="B16" s="5"/>
  </row>
  <row r="17" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B17" s="5"/>
  </row>
  <row r="18" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B18" s="5"/>
  </row>
  <row r="19" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B19" s="5"/>
  </row>
  <row r="20" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B20" s="5"/>
  </row>
  <row r="21" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B21" s="5"/>
  </row>
  <row r="22" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B22" s="5"/>
  </row>
  <row r="23" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B23" s="5"/>
  </row>
  <row r="24" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B24" s="5"/>
  </row>
  <row r="25" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B25" s="5"/>
  </row>
  <row r="26" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B26" s="5"/>
  </row>
  <row r="27" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B27" s="5"/>
  </row>
  <row r="28" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B28" s="5"/>
  </row>
  <row r="29" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B29" s="5"/>
  </row>
  <row r="30" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B30" s="5"/>
  </row>
  <row r="31" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B31" s="5"/>
  </row>
  <row r="32" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B32" s="5"/>
  </row>
  <row r="33" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B33" s="5"/>
  </row>
  <row r="34" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B34" s="5"/>
  </row>
  <row r="35" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B35" s="5"/>
  </row>
  <row r="36" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B36" s="5"/>
  </row>
  <row r="37" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B37" s="5"/>
  </row>
  <row r="38" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B38" s="5"/>
  </row>
  <row r="39" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B39" s="5"/>
  </row>
  <row r="40" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B40" s="5"/>
  </row>
  <row r="41" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B41" s="5"/>
  </row>
  <row r="42" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B42" s="4"/>
  </row>
  <row r="43" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B43" s="4"/>
  </row>
  <row r="44" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B44" s="4"/>
  </row>
  <row r="45" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B45" s="4"/>
  </row>
  <row r="46" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B46" s="4"/>
  </row>
  <row r="47" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B47" s="4"/>
  </row>
  <row r="48" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B48" s="4"/>
  </row>
  <row r="49" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B49" s="4"/>
  </row>
  <row r="50" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B50" s="4"/>
  </row>
  <row r="51" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B51" s="4"/>
  </row>
  <row r="52" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B52" s="4"/>
  </row>
  <row r="53" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B53" s="4"/>
  </row>
  <row r="54" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B54" s="4"/>
  </row>
  <row r="55" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B55" s="4"/>
  </row>
  <row r="56" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B56" s="4"/>
  </row>
  <row r="57" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B57" s="4"/>
  </row>
  <row r="58" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B58" s="4"/>
  </row>
  <row r="59" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B59" s="4"/>
  </row>
  <row r="60" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B60" s="4"/>
  </row>
  <row r="61" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B61" s="4"/>
  </row>
  <row r="62" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B62" s="4"/>
  </row>
  <row r="63" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B63" s="4"/>
  </row>
  <row r="64" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B64" s="4"/>
  </row>
  <row r="65" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B65" s="4"/>
  </row>
  <row r="66" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B66" s="4"/>
  </row>
  <row r="67" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B67" s="4"/>
  </row>
  <row r="68" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B68" s="4"/>
  </row>
  <row r="69" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B69" s="4"/>
  </row>
  <row r="70" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B70" s="4"/>
  </row>
  <row r="71" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B71" s="4"/>
  </row>
  <row r="72" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B72" s="4"/>
  </row>
  <row r="73" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B73" s="4"/>
  </row>
  <row r="74" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B74" s="4"/>
  </row>
  <row r="75" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B75" s="4"/>
  </row>
  <row r="76" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B76" s="4"/>
  </row>
  <row r="77" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B77" s="4"/>
  </row>
  <row r="78" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B78" s="4"/>
  </row>
  <row r="79" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B79" s="4"/>
  </row>
  <row r="80" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B80" s="4"/>
  </row>
  <row r="81" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B81" s="4"/>
  </row>
  <row r="82" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B82" s="4"/>
  </row>
  <row r="83" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B83" s="4"/>
  </row>
  <row r="84" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B84" s="4"/>
  </row>
  <row r="85" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B85" s="4"/>
  </row>
  <row r="86" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B86" s="4"/>
  </row>
  <row r="87" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B87" s="4"/>
  </row>
  <row r="88" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B88" s="4"/>
  </row>
  <row r="89" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B89" s="4"/>
  </row>
  <row r="90" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B90" s="4"/>
  </row>
  <row r="91" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B91" s="4"/>
  </row>
  <row r="92" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B92" s="4"/>
  </row>
  <row r="93" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B93" s="4"/>
  </row>
  <row r="94" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B94" s="4"/>
  </row>
  <row r="95" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B95" s="4"/>
  </row>
  <row r="96" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B96" s="4"/>
  </row>
  <row r="97" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B97" s="4"/>
  </row>
  <row r="98" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B98" s="4"/>
  </row>
  <row r="99" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B99" s="4"/>
  </row>
  <row r="100" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B100" s="4"/>
  </row>
  <row r="101" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B101" s="4"/>
  </row>
  <row r="102" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B102" s="4"/>
  </row>
  <row r="103" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B103" s="4"/>
  </row>
  <row r="104" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B104" s="4"/>
  </row>
  <row r="105" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B105" s="4"/>
  </row>
  <row r="106" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B106" s="4"/>
  </row>
  <row r="107" spans="2:2" x14ac:dyDescent="0.25">
   <c r="B107" s="4"/>
  </row>
 </sheetData>
 <autoFilter ref="A2:P2"/>
 <phoneticPr fontId="1" type="noConversion"/>
 <pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
 <pageSetup paperSize="9" orientation="portrait" r:id="rId1"/>
</worksheet>

编辑

这就是输出的样子。我的 sharedStrings 出现在下方但不在上方。

为什么上面没有显示 sharedStrings.xml?

 File merged with OpenTBS (XML reformated for debuging only): xl/sharedStrings.xml
    ------------------------------
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="32" uniqueCount="32">
     <si>
      <t>
       [p.ProjectName]
      </t>
     </si>
     <si>
      <t>
       ID
      </t>
     </si>
     <si>
      <t>
       ActionItemID
      </t>
     </si>
     <si>
      <t>
       Action Item Title
      </t>
     </si>
     <si>
      <t>
       Assigned Date
      </t>
     </si>
     <si>
      <t>
       Due Date
      </t>
     </si>
     <si>
      <t>



  ECD
  </t>
 </si>
 <si>
  <t>
   Completion Date
  </t>
 </si>
 <si>
  <t>
   Closed Date
  </t>
 </si>
 <si>
  <t>
   Owner
  </t>
 </si>
 <si>
  <t>
   Criticality
  </t>
 </si>
 <si>
  <t>
   Assignor
  </t>
 </si>
 <si>
  <t>
   Alt Owner
  </t>
 </si>
 <si>
  <t>
   [b.Category1Name]
  </t>
 </si>
 <si>
  <t>
   [b.Category2Name]
  </t>
 </si>
 <si>
  <t>
   [b.Category3Name]
  </t>
 </si>
 <si>
  <t>
   [b.Category4Name]
  </t>
 </si>
 <si>
  <t>
   [a.ActionItemID;block=tbs:row]
  </t>
 </si>
 <si>
  <t>
   [a.ActionItemTitle]
  </t>
 </si>
 <si>
  <t>
   [a.AssignedDate;ope=tbs:date]
  </t>
 </si>
 <si>
  <t>
   [a.DueDate;ope=tbs:date]
  </t>
 </si>
 <si>
  <t>
   [a.ECD;ope=tbs:date]
  </t>
 </si>
 <si>
  <t>
   [a.CompletionDate;ope=tbs:date]
  </t>
 </si>
 <si>
  <t>
   [a.ClosedDate;ope=tbs:date]
  </t>
 </si>
 <si>
  <t>
   [a.Owner]
  </t>
 </si>
 <si>
  <t>
   [a.Criticality]
  </t>
 </si>
 <si>
  <t>
   [a.Assignor]
  </t>
 </si>
 <si>
  <t>
   [a.AltOwner]
  </t>
 </si>
 <si>
  <t>
   [a.Category1]
  </t>
 </si>
 <si>
  <t>
   [a.Category2]
  </t>
 </si>
 <si>
  <t>
   [a.Category3]
  </t>
 </si>
 <si>
  <t>
   [a.Category4]
  </t>
 </si>
</sst>
4

1 回答 1

1

在尝试了最新版本后,我能够让 Excel 脚本工作。从 1.9.5 升级到 1.9.6 是解决方案。

于 2016-04-07T18:17:40.240 回答