From f2084bcf78678eea30e698f79ea373e234fc5818 Mon Sep 17 00:00:00 2001 From: John McNamara Date: Sat, 22 Jun 2024 21:00:48 +0100 Subject: [PATCH] worksheet: add extra tests for sheet name quoting --- test/functional/src/test_quote_name01.c | 51 +++++++++++++++++++ test/functional/src/test_quote_name02.c | 51 +++++++++++++++++++ test/functional/src/test_quote_name03.c | 51 +++++++++++++++++++ test/functional/src/test_quote_name04.c | 41 +++++++++++++++ test/functional/src/test_quote_name05.c | 51 +++++++++++++++++++ test/functional/src/test_quote_name06.c | 51 +++++++++++++++++++ test/functional/src/test_quote_name07.c | 51 +++++++++++++++++++ test/functional/test_quote_name.py | 36 +++++++++++++ test/functional/xlsx_files/quote_name01.xlsx | Bin 0 -> 26399 bytes test/functional/xlsx_files/quote_name02.xlsx | Bin 0 -> 26528 bytes test/functional/xlsx_files/quote_name03.xlsx | Bin 0 -> 26533 bytes test/functional/xlsx_files/quote_name04.xlsx | Bin 0 -> 9113 bytes test/functional/xlsx_files/quote_name05.xlsx | Bin 0 -> 9411 bytes test/functional/xlsx_files/quote_name06.xlsx | Bin 0 -> 9425 bytes test/functional/xlsx_files/quote_name07.xlsx | Bin 0 -> 9431 bytes 15 files changed, 383 insertions(+) create mode 100644 test/functional/src/test_quote_name01.c create mode 100644 test/functional/src/test_quote_name02.c create mode 100644 test/functional/src/test_quote_name03.c create mode 100644 test/functional/src/test_quote_name04.c create mode 100644 test/functional/src/test_quote_name05.c create mode 100644 test/functional/src/test_quote_name06.c create mode 100644 test/functional/src/test_quote_name07.c create mode 100644 test/functional/test_quote_name.py create mode 100644 test/functional/xlsx_files/quote_name01.xlsx create mode 100644 test/functional/xlsx_files/quote_name02.xlsx create mode 100644 test/functional/xlsx_files/quote_name03.xlsx create mode 100644 test/functional/xlsx_files/quote_name04.xlsx create mode 100644 test/functional/xlsx_files/quote_name05.xlsx create mode 100644 test/functional/xlsx_files/quote_name06.xlsx create mode 100644 test/functional/xlsx_files/quote_name07.xlsx diff --git a/test/functional/src/test_quote_name01.c b/test/functional/src/test_quote_name01.c new file mode 100644 index 00000000..8db43410 --- /dev/null +++ b/test/functional/src/test_quote_name01.c @@ -0,0 +1,51 @@ +/***************************************************************************** + * Test cases for libxlsxwriter. + * + * Test to compare output against Excel files. + * + * Copyright 2014-2024, John McNamara, jmcnamara@cpan.org + * + */ + +#include "xlsxwriter.h" + +int main() +{ + lxw_workbook *workbook = workbook_new("test_quote_name01.xlsx"); + + uint8_t data[5][3] = { + {1, 2, 3}, + {2, 4, 6}, + {3, 6, 9}, + {4, 8, 12}, + {5, 10, 15}}; + + char *sheetnames[] = { + "Sheet 1", + "Sheet 2", + "Sheet!3", + "Sheet\"4", + "Sheet#5", + "Sheet$6", + "Sheet%7", + "Sheet&8", + }; + + for (int i = 0; i < 8; i++) + { + lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetnames[i]); + + for (int row = 0; row < 5; row++) + for (int col = 0; col < 3; col++) + worksheet_write_number(worksheet, row, col, data[row][col], NULL); + + lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_PIE); + lxw_chart_series *series = chart_add_series(chart, NULL, NULL); + chart_series_set_values(series, sheetnames[i], 0, 0, 4, 0); + + lxw_chart_options options = {.x_offset = 26, .y_offset = 17}; + worksheet_insert_chart_opt(worksheet, CELL("E6"), chart, &options); + } + + return workbook_close(workbook); +} diff --git a/test/functional/src/test_quote_name02.c b/test/functional/src/test_quote_name02.c new file mode 100644 index 00000000..cfd4ac4b --- /dev/null +++ b/test/functional/src/test_quote_name02.c @@ -0,0 +1,51 @@ +/***************************************************************************** + * Test cases for libxlsxwriter. + * + * Test to compare output against Excel files. + * + * Copyright 2014-2024, John McNamara, jmcnamara@cpan.org + * + */ + +#include "xlsxwriter.h" + +int main() +{ + lxw_workbook *workbook = workbook_new("test_quote_name02.xlsx"); + + uint8_t data[5][3] = { + {1, 2, 3}, + {2, 4, 6}, + {3, 6, 9}, + {4, 8, 12}, + {5, 10, 15}}; + + char *sheetnames[] = { + "Sheet'1", + "S'heet'2", + "Sheet(3", + "Sheet)4", + "Sheet+5", + "Sheet,6", + "Sheet-7", + "Sheet;8", + }; + + for (int i = 0; i < 8; i++) + { + lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetnames[i]); + + for (int row = 0; row < 5; row++) + for (int col = 0; col < 3; col++) + worksheet_write_number(worksheet, row, col, data[row][col], NULL); + + lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_PIE); + lxw_chart_series *series = chart_add_series(chart, NULL, NULL); + chart_series_set_values(series, sheetnames[i], 0, 0, 4, 0); + + lxw_chart_options options = {.x_offset = 26, .y_offset = 17}; + worksheet_insert_chart_opt(worksheet, CELL("E6"), chart, &options); + } + + return workbook_close(workbook); +} diff --git a/test/functional/src/test_quote_name03.c b/test/functional/src/test_quote_name03.c new file mode 100644 index 00000000..591c6960 --- /dev/null +++ b/test/functional/src/test_quote_name03.c @@ -0,0 +1,51 @@ +/***************************************************************************** + * Test cases for libxlsxwriter. + * + * Test to compare output against Excel files. + * + * Copyright 2014-2024, John McNamara, jmcnamara@cpan.org + * + */ + +#include "xlsxwriter.h" + +int main() +{ + lxw_workbook *workbook = workbook_new("test_quote_name03.xlsx"); + + uint8_t data[5][3] = { + {1, 2, 3}, + {2, 4, 6}, + {3, 6, 9}, + {4, 8, 12}, + {5, 10, 15}}; + + char *sheetnames[] = { + "Sheet<1", + "Sheet>2", + "Sheet=3", + "Sheet@4", + "Sheet^5", + "Sheet`6", + "Sheet_7", + "Sheet~8", + }; + + for (int i = 0; i < 8; i++) + { + + lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetnames[i]); + + for (int row = 0; row < 5; row++) for (int col = 0; col < 3; col++) + worksheet_write_number(worksheet, row, col, data[row][col], NULL); + + lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_PIE); + lxw_chart_series *series = chart_add_series(chart, NULL, NULL); + chart_series_set_values(series, sheetnames[i], 0, 0, 4, 0); + + lxw_chart_options options = {.x_offset = 26, .y_offset = 17}; + worksheet_insert_chart_opt(worksheet, CELL("E6"), chart, &options); + } + + return workbook_close(workbook); +} diff --git a/test/functional/src/test_quote_name04.c b/test/functional/src/test_quote_name04.c new file mode 100644 index 00000000..5432e40b --- /dev/null +++ b/test/functional/src/test_quote_name04.c @@ -0,0 +1,41 @@ +/***************************************************************************** + * Test cases for libxlsxwriter. + * + * Test to compare output against Excel files. + * + * Copyright 2014-2024, John McNamara, jmcnamara@cpan.org + * + */ + +#include "xlsxwriter.h" + +int main() +{ + lxw_workbook *workbook = workbook_new("test_quote_name04.xlsx"); + + uint8_t data[5][3] = { + {1, 2, 3}, + {2, 4, 6}, + {3, 6, 9}, + {4, 8, 12}, + {5, 10, 15}}; + + char *sheetname = "Sheet 1"; + lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetname); + + for (int row = 0; row < 5; row++) + for (int col = 0; col < 3; col++) + worksheet_write_number(worksheet, row, col, data[row][col], NULL); + + lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_PIE); + + lxw_chart_series *series = chart_add_series(chart, NULL, NULL); + chart_series_set_values(series, sheetname, 0, 0, 4, 0); + chart_series_set_name_range(series, sheetname, 0, 0); + + chart_title_set_name(chart, "Foo"); + + worksheet_insert_chart(worksheet, CELL("E9"), chart); + + return workbook_close(workbook); +} \ No newline at end of file diff --git a/test/functional/src/test_quote_name05.c b/test/functional/src/test_quote_name05.c new file mode 100644 index 00000000..8db9261c --- /dev/null +++ b/test/functional/src/test_quote_name05.c @@ -0,0 +1,51 @@ +/***************************************************************************** + * Test cases for libxlsxwriter. + * + * Test to compare output against Excel files. + * + * Copyright 2014-2024, John McNamara, jmcnamara@cpan.org + * + */ + +#include "xlsxwriter.h" + +int main() +{ + lxw_workbook *workbook = workbook_new("test_quote_name05.xlsx"); + + char *sheetname = "Sheet1"; + lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetname); + lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN); + + /* For testing, copy the randomly generated axis ids in the target file. */ + chart->axis_id_1 = 54437760; + chart->axis_id_2 = 59195776; + + uint8_t data[5][3] = { + {1, 2, 3}, + {2, 4, 6}, + {3, 6, 9}, + {4, 8, 12}, + {5, 10, 15}}; + + int row, col; + for (row = 0; row < 5; row++) + for (col = 0; col < 3; col++) + worksheet_write_number(worksheet, row, col, data[row][col], NULL); + + worksheet_repeat_rows(worksheet, 0, 1); + worksheet_set_portrait(worksheet); + worksheet->vertical_dpi = 200; + + lxw_chart_series *series1 = chart_add_series(chart, NULL, NULL); + lxw_chart_series *series2 = chart_add_series(chart, NULL, NULL); + lxw_chart_series *series3 = chart_add_series(chart, NULL, NULL); + + chart_series_set_values(series1, sheetname, 0, 0, 4, 0); + chart_series_set_values(series2, sheetname, 0, 1, 4, 1); + chart_series_set_values(series3, sheetname, 0, 2, 4, 2); + + worksheet_insert_chart(worksheet, CELL("E9"), chart); + + return workbook_close(workbook); +} diff --git a/test/functional/src/test_quote_name06.c b/test/functional/src/test_quote_name06.c new file mode 100644 index 00000000..32327508 --- /dev/null +++ b/test/functional/src/test_quote_name06.c @@ -0,0 +1,51 @@ +/***************************************************************************** + * Test cases for libxlsxwriter. + * + * Test to compare output against Excel files. + * + * Copyright 2014-2024, John McNamara, jmcnamara@cpan.org + * + */ + +#include "xlsxwriter.h" + +int main() +{ + lxw_workbook *workbook = workbook_new("test_quote_name06.xlsx"); + + char *sheetname = "Sheet-1"; + lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetname); + lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN); + + /* For testing, copy the randomly generated axis ids in the target file. */ + chart->axis_id_1 = 62284544; + chart->axis_id_2 = 83429248; + + uint8_t data[5][3] = { + {1, 2, 3}, + {2, 4, 6}, + {3, 6, 9}, + {4, 8, 12}, + {5, 10, 15}}; + + int row, col; + for (row = 0; row < 5; row++) + for (col = 0; col < 3; col++) + worksheet_write_number(worksheet, row, col, data[row][col], NULL); + + worksheet_repeat_rows(worksheet, 0, 1); + worksheet_set_portrait(worksheet); + worksheet->vertical_dpi = 200; + + lxw_chart_series *series1 = chart_add_series(chart, NULL, NULL); + lxw_chart_series *series2 = chart_add_series(chart, NULL, NULL); + lxw_chart_series *series3 = chart_add_series(chart, NULL, NULL); + + chart_series_set_values(series1, sheetname, 0, 0, 4, 0); + chart_series_set_values(series2, sheetname, 0, 1, 4, 1); + chart_series_set_values(series3, sheetname, 0, 2, 4, 2); + + worksheet_insert_chart(worksheet, CELL("E9"), chart); + + return workbook_close(workbook); +} \ No newline at end of file diff --git a/test/functional/src/test_quote_name07.c b/test/functional/src/test_quote_name07.c new file mode 100644 index 00000000..e047a518 --- /dev/null +++ b/test/functional/src/test_quote_name07.c @@ -0,0 +1,51 @@ +/***************************************************************************** + * Test cases for libxlsxwriter. + * + * Test to compare output against Excel files. + * + * Copyright 2014-2024, John McNamara, jmcnamara@cpan.org + * + */ + +#include "xlsxwriter.h" + +int main() +{ + lxw_workbook *workbook = workbook_new("test_quote_name07.xlsx"); + + char *sheetname = "Sheet'1"; + lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetname); + lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN); + + /* For testing, copy the randomly generated axis ids in the target file. */ + chart->axis_id_1 = 48135552; + chart->axis_id_2 = 54701056; + + uint8_t data[5][3] = { + {1, 2, 3}, + {2, 4, 6}, + {3, 6, 9}, + {4, 8, 12}, + {5, 10, 15}}; + + int row, col; + for (row = 0; row < 5; row++) + for (col = 0; col < 3; col++) + worksheet_write_number(worksheet, row, col, data[row][col], NULL); + + worksheet_repeat_rows(worksheet, 0, 1); + worksheet_set_portrait(worksheet); + worksheet->vertical_dpi = 200; + + lxw_chart_series *series1 = chart_add_series(chart, NULL, NULL); + lxw_chart_series *series2 = chart_add_series(chart, NULL, NULL); + lxw_chart_series *series3 = chart_add_series(chart, NULL, NULL); + + chart_series_set_values(series1, sheetname, 0, 0, 4, 0); + chart_series_set_values(series2, sheetname, 0, 1, 4, 1); + chart_series_set_values(series3, sheetname, 0, 2, 4, 2); + + worksheet_insert_chart(worksheet, CELL("E9"), chart); + + return workbook_close(workbook); +} diff --git a/test/functional/test_quote_name.py b/test/functional/test_quote_name.py new file mode 100644 index 00000000..ffc1578c --- /dev/null +++ b/test/functional/test_quote_name.py @@ -0,0 +1,36 @@ +############################################################################### +# +# Tests for libxlsxwriter. +# +# SPDX-License-Identifier: BSD-2-Clause +# Copyright 2014-2024, John McNamara, jmcnamara@cpan.org. +# + +import base_test_class + +class TestCompareXLSXFiles(base_test_class.XLSXBaseTest): + """ + Test file created with libxlsxwriter against a file created by Excel. + + """ + + def test_quote_name01(self): + self.run_exe_test('test_quote_name01') + + def test_quote_name02(self): + self.run_exe_test('test_quote_name02') + + def test_quote_name03(self): + self.run_exe_test('test_quote_name03') + + def test_quote_name04(self): + self.run_exe_test('test_quote_name04') + + def test_quote_name05(self): + self.run_exe_test('test_quote_name05') + + def test_quote_name06(self): + self.run_exe_test('test_quote_name06') + + def test_quote_name07(self): + self.run_exe_test('test_quote_name07') diff --git a/test/functional/xlsx_files/quote_name01.xlsx b/test/functional/xlsx_files/quote_name01.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..64e56fb61454da472027ec93b17762bcfc30cc82 GIT binary patch literal 26399 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 Js1MJ7`d^(7P;USL literal 0 HcmV?d00001 diff --git a/test/functional/xlsx_files/quote_name03.xlsx b/test/functional/xlsx_files/quote_name03.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..cee466b89267d7e378d76573d64df0ce636112d4 GIT binary patch literal 26533 zcmeHvby!tv@b0EdQc4=68$>`F=?+N=>5%RQX`~yZq*FjZLXeUMX~``ijg+*Kce6d` zpor&s?_c-)uJ}A`QP%s+tasLYGqYw!UJ42t695Z<2LJ%1fEGj%Hw;JsKnE27xCt1C z&=9h+v^TW0f28DMZD^;(=xkw5lKCEjIvoJ|r9WT)lkUJ9)gDVAGuj)RPJZ||*x0GB zWPIP+qR6`x=9&Iv!leB+4m@Jy{T{SaaImR6jIX2+>!+q|)^ zS0i&(7CmHX>DcsuL!x(YCJ^h%w7dyD{L@=cvgo&bQAmi1w^gkmhacOL>aldF;+Ms}_xd!@;VOt%wvweWB0I)8cI!ba55(1?)ZkC1cP z<6l;HhNQ9!yEoQ`tg?ktgZdJK$v?!?qM%|c5CI7$d~Lip5^cD9{=Uo9U!#Tx;Pff?ZA9ITdWDIvy-_k^}pNSKlbtksZ*N}aY;|-hce*v%M z1YIN!^?GX#wn)^Yh7FDXp+)5Imvsiu{B=gbz8n6~Yqln*uDP41cDyoH#r$~ZUza`c zB1&L=OdI8(_UuNc8u>S0of02Ud*R*scsvSMP{lkAAE>Qd>?wBo=8Rwa3=RM|KZgRy z|KJ)bm6>nvgA868^yDJ}`XCL@|7fzt7IyG(n$T>SUS#Rt(zdR%auQvANwjLXy946BCx@}Gr zvqHD7$zaT_e8Ug1i@X7iMDh$gBh8QD;oRT~`HpzLmRGaMSUEE-dFUm`h6<$Jq(R#s*g z2jO3)4}D?!px^!f`|HhnsmCqMXt1*$8BS=EW96x>5>gB1lBB?BB7yOFxH5_?1>yz| zxN1&hXb1gQ=%Ic_4gPyusE<54_?q<0UM)yq+QHT`8y1;$&B!vLa`z3;XchLEM7l#S z1fHB(o+GB(+9M=83W#d4NltTe@E~}LK-ItPypg_|&03`zE~ybBh-IwoD?ZP8^S}x< z?a{tLhoY?;z3G`LfyvH!y^L}t3{Uc0J=}(6DBAP(v@!_m_ev9ZDGR&U!K(&1QHdeI zL}i_K-GLLZ?dBedY|NDVy3tLEt$|&T`mDr8H*qVrbukc=7th#h%d)JK_z&bZk{h*c zPf~8kL}kw2AlY0NR89cpe~#K#IdjBvCpJ;SE)z8 z)}}Uh#jr9%7Zonut8P=*_gT^{e< zr5Ay~sZ|?I|4YMK`F%^*rwW+hJF-w@FL!BjbmXie%3m5;Qqy?-9 zqEFtb`R5SqUAHp4(_mB{*yjKdxszQIIi%ycjnMDeN2jz+mFcJLZ|-YNRS zbX?hSb344pPe^x( zL0tXpC%C%>S4u!^z6P<0d&#DqiJ_sr9TWJ2?ZQ=r#>mL!Fk=QBQl16ox>>EB$_D~O zOIYULwo128sB#M2ewAIE@XU)pP(_dcyTa^weBN?wbyx3J2?Z6i%Huf2hNsjJ$}5V6 zTsi&xTTCT1WwQB-uO13YogZkk|W4b9|A67dI6Lb%J`&Iqj9ZAUEx|N4;$Y_0q9W)~dtS8G54?=O)L| zSmbl|;yXH^4Atl4&M0(WK5sWLUl3Uvv-y}IZOUe8c)nhL7{+r;@jk`$!$Tp|8Nt!8 z7LDW$r?*e(SzJlRkvodk+MGFfrggR2;H~b3%ifY3M~I-AHYHkdl!)-&r0gExS*yIhrc;T%V8a#d1*~TA@cg5@;-5J1jb?AM+}>gSzL60ppSG zZt0+KraR*G`K)Cq7Op#sqJ7{C|J^MVI6reg{;3c=BL9M%@@#*^7Bq_zY8Fyl&vpAP z8tlEy)ZwX)7tI}j#2^!2RV~vEKFY+#p&*FoBrIjE;z@zg$4ashjK@gVag3)QwO9}0 zmJY=8?VmXQb}WFIzVpwa;1|)02+4B8Z_8&(-nLo`OW2@JTlh2W8k8UVv2UG)>8BYW zu*b(|mLVq6%BcI)j-WM_>~Pvtts4^h-n_-uL*#^`nsJ|5zrMLyLQ`k-mWHJM?mNhd zJ2#y?bfRd&@7mM&rz)Cr;YH=3F6`uN+qA|Snkx&~wZ*?Lq-Lk}WKBQP3yv8gpdA^aH%VGa{i9K41pFTG1OJ^@DhQ5@9Z|rb*o-Tu(fxL1-1FeeHwH8jf@hPwl z^gk4r+8fyFI+MU{`Dj458A(FM!V1+?Z9&AfP_rO6+J_B5Ke7q1GP$`Q*^MJ zV^&1)Gut}Kaj)zYPrUjEnw^Ez07Yz)PW2fX%K__q#2nmcDFY6iZen<8tpkbsg?xjd zG{oDSFxb!L)LIf1$LZP}vtiVa1Q@yNBam`=+67@=sS=1Qio ze!XS8<5jhF+%?n;1m0&n4U%_kO=Lxz7XT^0h1{4E{Z(B)SLM;-yK9-}g?(l4Tg?AT zcSSd}sNDLXS>;bq^j!yVKyrim8DMfqI*BuI!m#mKK~e|LQ+yGk`r()HFz~kRz`=dI zz75?VuiT0cIXH=^OLAHtn&7>mcTv)0EUP@v-=C z$$PQ14L%MMtAicn6LLK3KhWa9n{=~F?aCp>?iPKsY;@~sSzfka_hI;q5DkcVhnxo5 zQKoB|M-kqedGkBWv;2yASFrX2MeqM%zRb!h9S5d)_$Bu`2e-(664iEgQ&t6@?K5u@ zGfnPE?Uv%#>)|AvnHDy-@oe<1@^L^Jn;Zmvt~uR3dW^R608&ve#o%6nJLUFi=C)io zMxmxR>UT^w$73dqCj|ZFU}GOiD^%m%pIRbGYRg+VHy?Az%BZ*#@yz@LJ>%UIQc9A5 zv`kozj zI5ofHv%h5pH)dMH)-i$&O=XWQwk6&oedE~mb$%b4Ubox_RBw@7&e4H9 zOh?JGRnz#XD^kQ)Q-A0+SH@ZB;@(K)itfz$w) z-db+6Vd5wBx1yul5>5}IqKC7EplrpydD71QuvnNCF9cq>Bt%r1 zZu?|@dsAC@)SFh|u|M5l78dG62Wk&buNkxDm|!?Mg#vr8YNlg})cp9;-6|ciS|O1# z#bj)PXSu;hP>s|sbn{)#C-)8{S|b5xw*`^HxTZMHZ675V#?0fSZfPhnzGS9uj)JVR zWESLWVM{yPQg1%r@NWQ9$v?*MjkQQdx=c?D9|5Z#T_E{Y_06Q zCsdV81YE}_q`vf7>}kK2wv)1DEBKRWc74x$h%2$3lL-WqzjO!4J8fN zw2r644sZ`NMiKVMyv2nakP!H^TxXA;T9duKHZ@zJR4!)k;mtW7N_IxEr&xtP6tQQo zMp`~gqlv#=%b&6_E2qe2s$HoL$VDy4b}dO*2@B_)8WnCIL@CRR#8%^TF<%#2&$QKG z7T65p*wh2!&L1Ph1)0vat|#vHw|lCVH>xrEq~N?~>)sf+=Q=|Fr~uuhg{ac8)0_rQ z=?k*-2sM5^TFamwU&9H-)1bt!CN`@%yZ43n((2coRCoO52vW}C%qcU6>|FW3bjLoN za5C6#nyzyEH0c#o&VTJ$2@%u}`&%L6_W^PUZlCD1icG@AtLTRTlyBnO<+`~@xk;Bp1yWoxp(5oa8(NbkO1+#Pp)-6QnC$LhDt z{@2QbiT`DI{NnjA^(LmvXW5pApsetp@EGMXJa(wmj5Wq%S)|$wY$AI=V7BrA(Jg0u zkBwA{xN}izZQhTjXT0FaQZQkGjDorHiGjd=8zxl|Y1%s8|2{lUeHSIDoO4vDcA?|X zRUd8aF00?7p5wdB=m)cRmA}Xf2Z~nU=vS+d!8vi`KRK~c-eaO&@=eSM*Sw6_i@eZj z6d8|kdHyk+&&^sCDo}C|gPR0O4rJMMyTy1W!P?`3wGU;x4bt8)?+}z1c5vo{w1+Bi zP%u{lX@A;=X^}@-rG+qea^v1te&AvK-HYTPMv9*-_7+R-jaE+iA(BP67ORQw6Z-sG z#Yc;uaIRHe9ePeZX0t`&E1|{jtyV&Dp z&LD1)O;Az{RvtKAiO0BaQwC0on?Xr2S%Amg=W)h(%pmHIzEQ7;$elB8&qfBOettd( zM13Jhd4>XIg%{sbk0E@DH~~_gL&j=lw%39@!BdSIe>*DKki0!U8kQ!HP_9K3lo=H& zf-;My8g6OkeN=hQ0S79F+~sr?!!y#$f9I;KZQ2?eQ9}$FB5m^`Lym?ZP7gTjNAE$B zkb03966xnbPI5bDJBpO4ek+GCh6OmAR*`(Vw*X3tXR3U2VyYvaY966ym`AV}lC+0| zlutlrDo?m5hbV!{A^6vsy;A(t45nKD3e;@ zhp(*;4*Z)4O#oq|IvCqQ~h?yGq7a7(JI90)_myr3t)^(+hbg z*RLNx7q!Qx$`>ih6CZET-YRDngx80JX#`d=j#dMEAAf|zG<}uldZ(E*rL1Wgcp|pl z+!mXEsxSb|5l>wXIf4vG>CII;FS3o|;$o8N^;CB$aT37gq98(hWq=1g8BFE-ZhQOY z*AyNMxejB4!UE^!XBjVoXPlm-E%HcB@ugB=5apddv^I~D4jigtz^9W1?qfH^Lgx_h z-n>a|#3tD*QE>X%3h{8(yFRm4=bmt)Zvc*A=upzrkhth3FAH9oQoj!x+l4vX!=JL& zn}@UPQt=3k)nLcARd1&Doh2m_X!mt(^m8OL=Bj2B-bk`qSVtB%YY8cy0WtXVQQpi0 zMZgToko&IBkilnIiqc=aj`KU;FAduuw}8Fvh;FbV+u~z1<)C9R$wDF(kZrI%6A_z2 zNr{ZN$y|ao<=enD$5U0DGlgJOt zP|4Z>pNS#3Oh#54z9t;kmH;stS8Qi8Yz6%V5yA;x)>Tz!rq7Y*Q*u3d2U7@KE)Kf2 zr{^*#wV?t_$_!WUboR!|rZ<<_9dPGG<@@#kW>a|G!Ox}|gitBaYRQPb_rC?$!SrZ`egGaKI00Vv@f3Xa2$x;P^d-5CE=WNsY|@O^u_f)r6L|%8Q17Z zMdeH!0i$RL_3}1bv8{%ExHemlsv|txqlkyx29=mlcqg#Arg34~;vWrc5;V_-l!RZn zm)8iJ)}x`<8*a^QN~T1npc;F@B!}c5Bu(?XD@*3AyG`1(OvgJGPI?6dU!NWShWGep zWq-WKf6jYkzW1)V3-TVr*Lx4}yMZ6-YkJ`N+70b%>TBno*$Zr|1ArD=YvG-z?(W(3 zZ}_WNxzfwRROq5Y+sW?7tz{~VNb;Pz*BsN6tqEX}RKAT{84NyNKdm!NTe^!|y++az z6iuDHM5n+#mSbbSi>LAO_EbiuT7e8wxb%ZIfA5*tH*wnrJZG54!^d}phv7j)j0}_pB#^*M4+L^3ukX*sp)7gmhoPS3w(S>egh~*|5eGTx(;v9BX(2D z_W0x91-5XQ6s_D_MW_}2wC;fn&BYS7biqdoqh zZv{5fQn{8rTTp?GhMh6*vcPt7QDEzN^{v3xe^Fq=1}IAGYcdVu6S~zFKMl>gt0zLr z@X~#6d^~VmWU)%;$p>_%skXN)?T0sM(TAI!POvOL3Omg(@G5%*eQzt@G!~d)w^ya! zpm=*An%86_azYU$|1)=Dp#r-rWk6P&yZcuu40M*=!MP!+W&fZRWw+t2k_Cjedz`0q z6Vk#t%X^NW{b?%8w>sy%>n%6lSDs@VdR?1z{DuqpW@>+2$bZg-r2Dp(WPw5x15j`Y zY8bjG(c9U(m>b$%WD(g9nje2)Myto!LA`${T8D&eQI;yCOBxv~P&H6w-lg4aVvxOE zzBy)Wz&$+KlYx40TxH&brAm6dn#@jF5Zqu- zhFh!@Qpd6okjzAY!l+XVDil9&m4LdVQBatPfR;%TZ+!cv?L_?_|ua`qm7G{nKv(Ke*=rsqHE$?(rB^u_|$Ys{$cWi6| zm3@*BRYV9gKW;vHJGMjCUl-fB8w2@T zGRW0h0L2O>Z>=Kt-lK;vyKa(b?e_Hcsux*Pg<9+b?A1`ET$-6iYnsp1vb3jY2FMk< zkv#iiCi$cv$gXWE)Pwl?Ih|pSPXT9bs#QTj@u(O1dBg95-3dO<$gXhf7@Yy(l;nWh>U#E23Vw3;u_S-M?B1F z;^q`^DuquJjo6|8&RKeLIz@bIa`bpht1X$999{4wUwm@ShQB05a$NA9E^bc`4=Kw# znVO)NKC0+S?U2L}Q$fn3g(F53Z`lsyLvNF~xv^&O2@1&!0lR|^ao@B{eu8-Z)SFT! z1q+rtZItbPpJ4)meULg3icjB@jT|*L5H}u?a#DNb7T66vu;>c zDiqg!fjr%(c&3pmn>Q$FSSF0z$v2wt8Gppc!>zX&KeCM@{_}pHV>QtJGpxaOFNOQL zWRbelHY_G9o?ODfWX7qdByXTJCy>G43gDiV^cIIYD1fJyEd(KAq);v7vj^i5U_c-M zD=aFB%D~4XXpS*l)JLxuV1=QXSSHk{T@jO@_BhKPa^W5Fp##wY$Z#_S1p=vxiak+=a zYC<{~!u0&)V7)7(l<)Mku7l#Ug}0cu= zK2m%ND?}oM(o!<4*|(`8u|ph9p*^1^tllVbG_P>Nap0sIb`2z`6&HtpC+SCwv6Q&Y zl?EzAMG?#eVIh0oEP5&3*{u0RL{pCTv%LVWSUpQrxp}Vz#1VFiCzMb~-$@Mhq<|6C!=C^ge#@l?} zYLBL!r$?ro9LC(%);0?@`OGS{FxB$wYh7M?l&wZ*#mVgWv9inCiCRhyQ%Q}}w|n5e zUwa1;wGfy~?$`0EhPy^UrvetCgfEkpz>m|LsBX!W%v)Ll4ueAT?L^;=grQOAmEkzv zTkLz!nn$6Yjt~(8KRWQH5F*>M8ucK&`+7(JRS7~$+{95_EOq`V*Sp6L^Y7Rd-5QiG zu&Y_5^+iok_HF)5Hn%$^=)#oGz$m9W9tXH8x7en zAHZRdj-bS6AS2(23jl=NrJ_532=&fY0dZX13z=q=g9P{NE=^N-iCLGyeRpMhM_plH zUqfzAY(FNtueH0Ms5vDHbIqeb+Lb%G7?xDhA_Gj;ak<47xgX|ID7CgBduG=;jUcLjHYD$-24p5Hvb%$Qo$zuu%$qbZ~%aScpQZYLwYP9 zFTIy~|3&Xq_2Q`R@PNTVzX<(=@`h^#56~?nc;%@`vT}bpWFl6Tk4n-( zDb3q^)ekkw;@Py#4BmR!FJAe_Yqo8=eexo*%iW?x#uhtGR)1!6y6#81c^LP7ODw) zhl(4o4K9D94+LD@`qKyU-|YkW4UWMzh(8?vkLDQsUgi(S|D!nuzk&I~@qd@&-zfHg zdv8o8JCi6h5PyvY~R$t8~^Ud)Um_G+%d`P@>$ zXc0RUxF@eCED_t=t!bXRR>4`dh|LYE7iVRv70bYdOAoikUDS(XwmBvE+W4O0Vl;V? zucRyI9WOoFT&uN|Iw|bY3hai#hNa+CY_bGS2m2(&q$io6vf|`#rm>S5XoVq>gUKj%G#UAu9 z|B$e~5tzIvlQgJb6?6|fosQ%q?>Jq<5Ek}~dlUwrLMfhwHC~%pdE;)$O%m*``e2*Nc%0gD)B~ zM_c}`7wcLC!x;3}a+M%601To(z0MN0+FM^8qht*q4Z`w&@%Cs?U!PbHCr-l`!dC2! zJq}U_?u=Z%urw5vQAdhbki+ z9~x#E>v1OaNB2BR3J!V}v6P_A)h{AkI+^V0L?K7r*WC4}E0?U0H?P{4NxC3TOAZ@# z-N7uc~(Rcd} z?`=$HIVh|Qd1RxH$EnbTAiqRFGq8QKpE>FA&{CH1eq>)}rSQ7xZ923V;<(nZdej3u z3?)KB0Y;d@I?x;IiPf&1jF`#d8}|hcT({icm|6E`zB~rxJ~Ar^LpB|Xe4F{vwB%2kFQnL5s89v>%Jle*oO|+@fW1t*IQ8HUrhdH_($?T{=p<8x>Td~x;#?1Rr zLoI#UZ=EcQ54-)ND+Ds_(6=83x6)a6K4@_4{5tV9P4k-_ws%X)AE}0=SnV{Xo@fre((R|5x`J-V`)RsGf zBnYKhjvZlLIFa=$0NxJClR!z#jkREivxa;QK0i`wL}dsAVDD7EOTHx2J1D zEc8RSsFcWZy>C|N_wnN&YjvIJy@t2dmLI0B7Fk|Vu5dRD6u>{ouM{$px|iN=rSnO2 zV#Oafe5qn#Cn1+iZz=0*PC}m@`k>oE$&6Ol&0st09o6!JAlm-b(^A%EEHz|?xbttrW^SR@K#Z{aPnxww#4x|d9f4OL8E zCXRpGflT48v4b24&vy>QQbCzMV=u3gD8Sf907F}B1I6qCJ&D`kh>eBGQKUrSayUl) zU`5`eQWeZ{#5J*qFpnTDB}-)3PQvYWEpvQ*cm50v7UYyfLc6nxNn%MNruYz& zWth9gw)mi~m%BZxpmXmfTrnZ5MmL1U35pSr7CaN;9uMw%dFRg7xHsg&NaorTLF;xZ&o+>K?XE7n?KV>m4Ugn1O0{ZyHtl+K}<&|=UI%%GBP}d6? zsOu#T)b%302XY{1+b!kdA$XxcM|mAk79$fP{l3q^lmM97{(S_pJ~wpXK)Rh-iM+x+ zFj&Z+oQn_K&yqdtZTv8%Jc9W}2Im+%4vGGTq;>X_;^e;I6i^o9I0#`tDL=()CGt*I zE*>@Yy`>=87PZ^V?KQdb|8Ki4kUR8_rp9WixJ*!zsO<^Hg2l87w!Np z!d4pkEcvHiSVqSZ?Ha!Gexd_$ZF!Q={nhr;@59(>3NGsh< z{n92mE4xn4Sstf38(D?d!%tn z{reyXQkDly{N_N0Fp8-Dav)IGIgpWYF^c1mMNkSOD3kR8J2gucl)~V7v#$%91-^^7 zZ9?&SGI6(Cl&RJFRbm8_mjoG^5#K{i*VQ+mwmIXiqp3Ka3{JQ_FN)-+`8z4os12++ zDhGt>JTI$@Q)>^1GfytIp#1zM{Wn68Z-(~Af&Awjh#5I673;5am~Xl1_hpcavD6r& zTcP73kr~{`NJ$P(qq+Qmi!#VH4rJeY-2mi3G(ZkSIu{gytduJ|P^NkDO@kv4Nl*kr z3Hxe}^!$sia<&Lm`-Uqub0&Frt_UUG@)29O#h?zj=@zr-)oN3e>8BdD&&knFtZ6cN z7ZFJ44-p7xsgUPLTf_Ge2w5H|0^tHR-9m#>nAC46Ou}R_@_hl6ixkGnrsX1qF&a0y zNMWMEDU1e@uN&Tn$yk$V=X`dkkp{Q7!E(x;b!KQ zuQ_U4Pw+3=Zr9f-+_%_WOEsxq!;`z>pqENZ*Fy&Kd^8J8d0xM@3N0=Qo6gU9svSq3NHk4}M0vbwH{C+6)JZ@cE zIBt2*^K;xq&s-O%XU^iHXAW)g`kpzMj~Na%puVauP=(|dn|Z+PIH589a@ow7PqrwJ z`Pu5XFqZ;rp_y6RSDIUE>ZZ9rKM^&N(11JL@_2qx4F?Qg#Rav?{q5+J&ZE`zS z+N1`N8sb^e{Z85puk#OQZ?ap}7?Gx_5fD7!gi42qjcrQzLJA=01%25Nii0;o_fPiI26H>YX^?LgIo|oH13d{tC zGkw#wZ;9^Gq%V|)c_^L|1{GFOKg*o5?ip4qO4D(m<{%{Aqzz?HH0EnsLlf&@3!Ol3 zS$NL2YtNhKCdYBx(1d7zP2_ZPwK0fQt~#qTr~GiwJ^Rk7kplmF8|l2z6zW}j443-6 z#`t}p$m!^6Pdq2cDdNX2atx|Uy<+zvs60fI3=523= zf~}ANhs7@l!`Gh{8@a8O{2;c~L0$zNw6D#;N?+dA${IB1Ze?qD(Md;=`DaZV=$r+F zM)!br`=N;(ik}EAc<50vV5v#aLVSW$KzK@q#@&-vg}yCRMY=IF&x7aF?US=Seb3H# z!QCa&VGm|h`5_jy41BPF4Fhc@-9V2K)}yRWmt5$gN*_qV<_tp@mnb`-*HxblDk0YB ztQAOT#9q@3OuGrOIJ%=ozb5BYLaUyXTxuEKe5rfly8$rvqkjqA550S%x@kOAn2iL6 zIBIEllu*F>#$9pw>5ps@+Yw{Fahv@Cvd=gT7b7Uw*;-S}VYb=^J*-De%#$chjkH1| z`P;14I+iU*Y7{q$In!BjQf!glnQ8E?)OT-Z4-l0a^_8}yR$~PL=V$Mg!pY*)1$qbF zN1N>6qbaSZJMKk{yCtz~BRRKjBm_@^l+-%|ENeUh>UapEw4BSlsYMw;*oLOIb3eG% zZFOyo^4<|P>J`Z9K7f1-+V@tcYi<3<=q}9d+gD1Ag4HlH+LM{6FQ`$(&KjxlWiqMr z-dqDj0!oiLrUCPscxK^*6V>@sP>rclnN_PKObe^-Gpl=x?${i_Zc1c7lQ%u%_R;0g zDF?4@l0&CT`BSyZ$TMwUmro0}JEBd5xt~hX`<9ZXdnd{x;oMOn8@21pV$4vqxj&9h z#A05>B2mP!hN@-079{Ao`;jFcfD4o7!#CmIGO26c zx2UWt&}^y;OvfR$F05fUA@yX4r=8^wU7e0-PZin%uDy8J$bns&C)D9<5y9cii{CK; zv^h9)Px0{L==0PLtsqXAUw7hf_?TY@%*v?89e%4?Y0C{6xKd#gvE873tl|H1CUiJk zEsj<|w&&GyhhI%r4t$kGIdvRRprQ0D{wueW0e+QxsWOU3wfj@c(ENN-U;o+t3IWLg zS{icwV(7n_{rmHpHPP}?KLY%?KKAbmFFx@>(-Yq2>#sL+Ud6e( zdGQiS7Xgg({T{}v7hmn5xxAPOv=`#9C5}I>{kw{Cb(P#D%1u!3_m3#oE|$9rcy&A5 zB_KKq81SD##cyyw?P|LUcy;C3B_J~B9s5gsXs8 zH*;MA!lVC-gue#-HMOu9R{_BcgO$B1)~``Mff~Voym6P?0HiCWWEnLuA*G+hPtFjn;(qwy`^7!=>A%cHo4i@4;qa$JjY_5IGJ9OTkJ$pJo=uinvL-;bxV*UE7% z%GEOQr5uLxKgn?|vsa6Nmk3>oV1%pB@3kK2$Kui@1^`g41RC7DT57s_Gk&ZRe1AEE e>UWp_RWp#6f&tAB0szdQKhB_}0O#SwPyY+6QcNWP literal 0 HcmV?d00001 diff --git a/test/functional/xlsx_files/quote_name04.xlsx b/test/functional/xlsx_files/quote_name04.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..2f7b9c9d2df137b9193287e68155b02121376bd9 GIT binary patch literal 9113 zcmeHN^;=Zy+MWSv36YZSE+wU;V`u>-q&tUB0SN&q>28pe?q=vvx<^7%BnOa2zR|tU zac{Qg`vbo3tRL2zb-nZ4*Y&>7{q$0iN4$dvKn9=!001fgx->b=4hR5T-2njZ0~Ucg z5@0)LQ#)sUbq{+}CtY@TTN}!pc_3pJ00I90|6c#+PT;-zkWv>XP74hTJGz|FVF*Yy zSrd#P^CkP`t4h8IjlQ~;z3u%uep@=62=#Y~{LgB*1goo)Kb%Ai)ZwTI>Qp&AG3lp$Oziji$Y4u;U7Utm zw=2|(YQ_lZ%7NQ+Wqb~mccZe$U}AuQ2dBp0hD!Vj2NQPC`Z;A8lszoX*>&hzLFa&0`HXq;6D04radLX`16(8xFx>$v+0J$^PR zsdab2Z}=F1TpsJnU7a;ZOJTiR8JxY;?4#_;{=Pk3XK6luIz8v!e8xo^4uX~%eN=(5 zJGwfKU?^_{9q`0K&5;1&u@+YiS;;1=M~L_G55(a~+jJ2-tyEjtK=M%-k|co?u9$9K`3s)L3WW3dkkO+Ur03kS86 ztFQ@8L99?wyikfoE`-jj>bVuc?i?H5Mu|${q8axEhg{bs%rJ^ZpoJ;oLvjK5M`;uH z1}>?M5i{uLUnn2n)bTq|%fA_wT|N?83Uw0Q-u7e9v?w}j9Tr+C2>h&Qa%KqW!B*FY ztL>j$j|iT(Uxu%+!MRQhKn1$naQs1cH?X6%5g2U!Bh>s!{X0LX4-ZQJzpwYvLsoFl zEOq+&dq9%6uq*nzxc<2~@w%RC0M%QH?u0iD)DdF-UPL$(aCfSoqZIB#bmsGc0uZ(7iNvsBTUxjEo3i4Thdq6!>>&6 zKXac#W$ij6_0OtobT=8&z{FNEus{amC3Hy_Bvdr2%MS*}Z4Dp<|)o*^p zsYsjP8s8BCRrF8%yA!L)b5j?e7!Q%A<#L^fN2o!fiPEy(AGYi+9ZyBy9KFCO3lB=u z>lkx!@T&eAA?!`;M2(uIt7N?or86#jpZ(d+Ona2SDBQN8Z=5{Yn$7;R6<~=mL2@jO z=Y^F3HS4Y~r-H@+Zid1fPu4Z6k(k5VV_h~KnJ^7H{2dvo!1`ShaMY=mYEHw^h`1-t zW5r5t;VaA8GVh%{^a<8MMwT+_CANDiFr{<0!PL>Qa$3b0kJ-D=cIb}xHdPr1&M9j- zy_I6|N?R2)US_I}W9J6owMiFx)HIyviIH1pPDlwH8niE?Ai`3qaD@vmQS)Pnl<{LQ znL9qQ)6u)qtcXS_?t{uellMC-lJc}#h(g{}*0zPW# z8SjIM!&;$~GzhEcj`EA1ON3e*k}Nz8PEdJ?vECeHWp=x2VngN0rlAB6pZG>{y2-Nm zad0oH@=NAaObmdq3Udzn+6_jsiPYDiJpcbzhlf@6WDJr0k_&mKlFrDaf4s8e!od~;{y<)UI zE0|*VtxB;ZkC$5DD|B$R(%e$%9}f4giv8(u1K)l`@8rY@-1pzdIk6k}#EH&t4H+$& zMA01I#jca&$M)-MF-^}0$McOohIb8H

2dBFS)m|$`lV2fJ?D*%Jp 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 literal 0 HcmV?d00001 diff --git a/test/functional/xlsx_files/quote_name05.xlsx b/test/functional/xlsx_files/quote_name05.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..dc05926505dae2d2ddef30704942263ff8bb08af GIT binary patch literal 9411 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 XP*=i0viL`pj}Nd$8iFkSkGuZ?`amsg literal 0 HcmV?d00001 diff --git a/test/functional/xlsx_files/quote_name06.xlsx b/test/functional/xlsx_files/quote_name06.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1b49fd8db67aea094d0d3ec37118214da2e82dd3 GIT binary patch literal 9425 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 literal 0 HcmV?d00001