Skip to content

Could not open exported file. Open and repair works but would be good to avoid. #7

Description

@timbrandin

Hi, this package is wonderful!

And I have only one issue, when I generate my worksheets from the below code, and then try to open with Excel it thinks the file is corrupted or something and proposes the open to Open and repair, which after doing I get the log in the bottom (which doesn't say much :/). Any ideas on what could be causing this?

Otherwise, the file looks good when repaired.

import flatten from 'flat';
import xlsx from 'xlsx-stream';
import _ from 'lodash';

app.listen('/export', (req, res) => {
  const filename = 'FILE.xlsx';

  const data = { data: [{a: 1, b: 2, c: 3}] };

  const worksheets = xlsx();
    res.set({
      'Content-type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8',
      'Content-Disposition': `attachment; filename=${encodeURI(filename)}`,
    });
    res.status(200);
    worksheets.pipe(res);

    // Build worksheets.
    _.each(data, (items, name) => {
      let headers = false;
      // const sheet = worksheets.sheet(name);
      if (items instanceof Array) {
        _.each(items, (item) => {
          const row = flatten(item);
          if (!headers) {
            // sheet.write(Object.keys(row));
            worksheets.write(Object.keys(row));
            headers = true;
          }
          // sheet.write(Object.values(row));
          worksheets.write(Object.values(row));
        });
      } else {
        const row = flatten(items);
        if (!headers) {
          // sheet.write(Object.keys(row));
          worksheets.write(Object.keys(row));
          headers = true;
        }
        // sheet.write(Object.values(row));
        worksheets.write(Object.values(row));
      }
      // sheet.end();
      worksheets.end();
    });
    worksheets.finalize();
});
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
  <logFileName>Repair Result to FILE.xml</logFileName>
  <summary>Errors were detected in file '/Users/tim.brandin/Downloads/FILE.xlsx'</summary>
  <additionalInfo>
    <info>Excel completed file level validation and repair. Some parts of this workbook may have
    been repaired or discarded.</info>
  </additionalInfo>
</recoveryLog>

And that was all she wrote, I wish I had more to go on, but all generated files become this way.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions