Deno
Deno is a JavaScript runtime that can import scripts from URLs.
Module scripts and type definitions are available at https://cdn.sheetjs.com/.
Using the URL imports, deno run
will automatically download scripts and types:
// @deno-types="https://cdn.sheetjs.com/xlsx-0.20.3/package/types/index.d.ts"
import * as XLSX from 'https://cdn.sheetjs.com/xlsx-0.20.3/package/xlsx.mjs';
The module URL is the ECMAScript Module build on the SheetJS CDN. @deno-types
instructs Deno to use the type definitions from the SheetJS CDN.
Great open source software grows with user tests and reports. Any issues should be reported to the Deno project for further diagnosis.
Watch the repo or subscribe to the RSS feed to be notified when new versions are released!
Encoding support
If Encoding support is required, cpexcel.full.mjs
must be manually imported:
/* load the codepage support library for extended support with older formats */
import * as cptable from 'https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/cpexcel.full.mjs';
XLSX.set_cptable(cptable);
Upgrade Notes
Upgrading to the latest version involves changing the import URLs. The import and the types URLs should be updated at the same time:
-// @deno-types="https://cdn.sheetjs.com/xlsx-0.18.3/package/types/index.d.ts"
+// @deno-types="https://cdn.sheetjs.com/xlsx-0.20.3/package/types/index.d.ts"
-import * as XLSX from 'https://cdn.sheetjs.com/xlsx-0.18.3/package/xlsx.mjs';
+import * as XLSX from 'https://cdn.sheetjs.com/xlsx-0.20.3/package/xlsx.mjs';
-import * as cptable from 'https://cdn.sheetjs.com/xlsx-0.18.3/package/dist/cpexcel.full.mjs';
+import * as cptable from 'https://cdn.sheetjs.com/xlsx-0.20.3/package/dist/cpexcel.full.mjs';
Deno Registry
The official Deno registry is out of date. This is a registry bug.
The SheetJS CDN https://cdn.sheetjs.com/ is the authoritative source for SheetJS modules.
Applications using the Deno registry can migrate by changing the URLs. After migrating, scripts can be updated by changing the version number.
- URL with version
- URL without version
The SheetJS CDN version has no v
. For example, v0.18.3
maps to 0.18.3
:
-// @deno-types="https://deno.land/x/[email protected]/types/index.d.ts"
+// @deno-types="https://cdn.sheetjs.com/xlsx-0.18.3/package/types/index.d.ts"
-import * as XLSX from 'https://deno.land/x/[email protected]/xlsx.mjs';
+import * as XLSX from 'https://cdn.sheetjs.com/xlsx-0.18.3/package/xlsx.mjs';
-import * as cptable from 'https://deno.land/x/[email protected]/dist/cpexcel.full.mjs';
+import * as cptable from 'https://cdn.sheetjs.com/xlsx-0.18.3/package/dist/cpexcel.full.mjs';
Version-less imports (https://deno.land/x/sheetjs/xlsx.mjs
) map to 0.18.3
:
-// @deno-types="https://deno.land/x/sheetjs/types/index.d.ts"
+// @deno-types="https://cdn.sheetjs.com/xlsx-0.18.3/package/types/index.d.ts"
-import * as XLSX from 'https://deno.land/x/sheetjs/xlsx.mjs';
+import * as XLSX from 'https://cdn.sheetjs.com/xlsx-0.18.3/package/xlsx.mjs';
-import * as cptable from 'https://deno.land/x/sheetjs/dist/cpexcel.full.mjs';
+import * as cptable from 'https://cdn.sheetjs.com/xlsx-0.18.3/package/dist/cpexcel.full.mjs';