sheetjs-clone/odsbits/85_write.js
SheetJS 7408679252 version bump 0.8.5: FODS/UOS and IE6+ support
- read and write support for Flat ODS files
- read support for Uniform Office Spreadsheet (UOS)
- IE6-8 cell regex split fix (fixes #350 #140 #268 h/t @Aymkdn @C0d3ine)
- replace substr negative index with slices (fixes #351 h/t @Aymkdn)
- ODS parsexmltag ignores ext overrides (fixes #548 h/t @lgodard)
- csv can be written using write/writeFile with csv type
- added `type` to README (fixes #432 h/t @tomkel)
2017-02-21 22:57:59 -08:00

32 lines
826 B
JavaScript

function write_ods(wb/*:any*/, opts/*:any*/) {
if(opts.bookType == "fods") return write_content_xml(wb, opts);
/*:: if(!jszip) throw new Error("JSZip is not available"); */
var zip = new jszip();
var f = "";
var manifest/*:Array<Array<string> >*/ = [];
var rdf = [];
/* 3:3.3 and 2:2.2.4 */
f = "mimetype";
zip.file(f, "application/vnd.oasis.opendocument.spreadsheet");
/* Part 1 Section 2.2 Documents */
f = "content.xml";
zip.file(f, write_content_xml(wb, opts));
manifest.push([f, "text/xml"]);
rdf.push([f, "ContentFile"]);
/* Part 3 Section 6 Metadata Manifest File */
f = "manifest.rdf";
zip.file(f, write_rdf(rdf, opts));
manifest.push([f, "application/rdf+xml"]);
/* Part 3 Section 4 Manifest File */
f = "META-INF/manifest.xml";
zip.file(f, write_manifest(manifest, opts));
return zip;
}