diff --git a/examples/xlsx-to-table/demo-config.json b/examples/xlsx-to-table/demo-config.json
new file mode 100644
index 000000000..43fec7e95
--- /dev/null
+++ b/examples/xlsx-to-table/demo-config.json
@@ -0,0 +1,5 @@
+{
+ "name": "XLSX to Table",
+ "description": "Import spreadsheet data and insert as tables in SuperDoc",
+ "category": "advanced"
+}
diff --git a/examples/xlsx-to-table/index.html b/examples/xlsx-to-table/index.html
new file mode 100644
index 000000000..5879baebc
--- /dev/null
+++ b/examples/xlsx-to-table/index.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+ XLSX to Table Demo - SuperDoc
+
+
+
+
+
+
diff --git a/examples/xlsx-to-table/package.json b/examples/xlsx-to-table/package.json
new file mode 100644
index 000000000..dc966ff76
--- /dev/null
+++ b/examples/xlsx-to-table/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "xlsx-to-table-demo",
+ "private": true,
+ "version": "0.0.1",
+ "type": "module",
+ "scripts": {
+ "dev": "vite"
+ },
+ "dependencies": {
+ "superdoc": "^1.8.3",
+ "vue": "^3.5.13",
+ "xlsx": "^0.18.5"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^4.2.3",
+ "vite": "^4.4.6"
+ }
+}
diff --git a/examples/xlsx-to-table/src/App.vue b/examples/xlsx-to-table/src/App.vue
new file mode 100644
index 000000000..b30b3aeac
--- /dev/null
+++ b/examples/xlsx-to-table/src/App.vue
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
diff --git a/examples/xlsx-to-table/src/components/DocumentEditor.vue b/examples/xlsx-to-table/src/components/DocumentEditor.vue
new file mode 100644
index 000000000..b9777b16c
--- /dev/null
+++ b/examples/xlsx-to-table/src/components/DocumentEditor.vue
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
diff --git a/examples/xlsx-to-table/src/main.js b/examples/xlsx-to-table/src/main.js
new file mode 100644
index 000000000..684d04215
--- /dev/null
+++ b/examples/xlsx-to-table/src/main.js
@@ -0,0 +1,4 @@
+import { createApp } from 'vue';
+import App from './App.vue';
+
+createApp(App).mount('#app');
diff --git a/examples/xlsx-to-table/vite.config.js b/examples/xlsx-to-table/vite.config.js
new file mode 100644
index 000000000..10fbc6e48
--- /dev/null
+++ b/examples/xlsx-to-table/vite.config.js
@@ -0,0 +1,9 @@
+import { defineConfig } from 'vite';
+import vue from '@vitejs/plugin-vue';
+
+export default defineConfig({
+ plugins: [vue()],
+ optimizeDeps: {
+ include: ['superdoc', 'xlsx']
+ }
+});