diff --git a/packages/excel-builder-vanilla/src/Excel/Worksheet.ts b/packages/excel-builder-vanilla/src/Excel/Worksheet.ts
index eb588f5..323ef98 100644
--- a/packages/excel-builder-vanilla/src/Excel/Worksheet.ts
+++ b/packages/excel-builder-vanilla/src/Excel/Worksheet.ts
@@ -355,8 +355,7 @@ export class Worksheet {
cell = cellCache.formula.cloneNode(true);
cell.firstChild.firstChild.nodeValue = cellValue as string;
break;
- case 'text':
- /*falls through*/
+ /*falls through, text type */
default: {
let id: number | undefined;
if (typeof this.sharedStrings?.strings[cellValue as string] !== 'undefined') {
@@ -697,7 +696,6 @@ export class Worksheet {
case 'number':
cellXml = `${cellValue}`;
break;
- case 'text':
default: {
let id: number | undefined;
if (typeof this.sharedStrings?.strings[cellValue as string] !== 'undefined') {
diff --git a/packages/excel-builder-vanilla/src/Excel/__tests__/Worksheet.spec.ts b/packages/excel-builder-vanilla/src/Excel/__tests__/Worksheet.spec.ts
index be02b99..2a3ff4b 100644
--- a/packages/excel-builder-vanilla/src/Excel/__tests__/Worksheet.spec.ts
+++ b/packages/excel-builder-vanilla/src/Excel/__tests__/Worksheet.spec.ts
@@ -351,6 +351,18 @@ describe('Excel/Worksheet', () => {
expect(xml).toContain(' {
+ const ws = new Worksheet({ name: 'Test' });
+ ws.sharedStrings = { strings: {}, addString: () => 0 } as any;
+ const xml = ws.serializeRows([
+ [
+ { value: 'A', metadata: { type: 'string' } },
+ { value: 1, metadata: { type: 'number' } },
+ ],
+ ]);
+ expect(xml).toContain(' {
const ws = new Worksheet({ name: 'Test' });
const addStringSpy = vi.fn(() => 42);
diff --git a/packages/excel-builder-vanilla/src/__tests__/excel-builder.spec.ts b/packages/excel-builder-vanilla/src/__tests__/excel-builder.spec.ts
index 63092e5..b2ddd13 100644
--- a/packages/excel-builder-vanilla/src/__tests__/excel-builder.spec.ts
+++ b/packages/excel-builder-vanilla/src/__tests__/excel-builder.spec.ts
@@ -807,7 +807,11 @@ describe('Excel-Builder-Vanilla', () => {
const albumTable = new Table();
const originalData = [
['Artist', 'Album', 'Price'],
- ['Buckethead', 'Albino Slug', 8.99],
+ [
+ { value: 'Buckethead', metadata: { type: 'string' } },
+ { value: 'Albino Slug', metadata: { type: 'string' } },
+ { value: 8.99, metadata: { type: 'number' } },
+ ],
['Buckethead', 'Electric Tears', 13.99],
['Buckethead', 'Colma', 11.34],
['Crystal Method', 'Vegas', 10.54],
@@ -892,7 +896,11 @@ describe('Excel-Builder-Vanilla', () => {
columns: [],
data: [
['Artist', 'Album', 'Price'],
- ['Buckethead', 'Albino Slug', 8.99],
+ [
+ { value: 'Buckethead', metadata: { type: 'string' } },
+ { value: 'Albino Slug', metadata: { type: 'string' } },
+ { value: 8.99, metadata: { type: 'number' } },
+ ],
['Buckethead', 'Electric Tears', 13.99],
['Buckethead', 'Colma', 11.34],
['Crystal Method', 'Vegas', 10.54],