Translate QExcell shared formulas on import
This commit is contained in:
@@ -28,6 +28,37 @@ describe("excellOffice OOXML helpers", () => {
|
||||
expect(xlsxCellToText({ r: "C2", f: { "#text": "A2*2" }, v: "8" }, [])).toBe("=A2*2");
|
||||
});
|
||||
|
||||
it("сдвигает относительные ссылки XLSX shared formulas при импорте", () => {
|
||||
const cells = worksheetXmlToCells(
|
||||
{
|
||||
worksheet: {
|
||||
sheetData: {
|
||||
row: [
|
||||
{
|
||||
r: "1",
|
||||
c: [{ r: "C1", f: { t: "shared", si: "0", ref: "C1:D2", "#text": "A1+B$1+$A1+$B$2+'A1 Sheet'!A1&\"A1\"" }, v: "0" }]
|
||||
},
|
||||
{
|
||||
r: "2",
|
||||
c: [
|
||||
{ r: "C2", f: { t: "shared", si: "0" }, v: "0" },
|
||||
{ r: "D2", f: { t: "shared", si: "0" }, v: "0" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
[]
|
||||
);
|
||||
|
||||
expect(cells).toEqual({
|
||||
C1: "=A1+B$1+$A1+$B$2+'A1 Sheet'!A1&\"A1\"",
|
||||
C2: "=A2+B$1+$A2+$B$2+'A1 Sheet'!A2&\"A1\"",
|
||||
D2: "=B2+C$1+$A2+$B$2+'A1 Sheet'!B2&\"A1\""
|
||||
});
|
||||
});
|
||||
|
||||
it("читает shared string, inline string, число и boolean", () => {
|
||||
expect(xlsxCellToText({ r: "A1", t: "s", v: "1" }, ["Первый", "Второй"])).toBe("Второй");
|
||||
expect(xlsxCellToText({ r: "A2", t: "inlineStr", is: { t: "Текст" } }, [])).toBe("Текст");
|
||||
|
||||
Reference in New Issue
Block a user