diff --git a/.gitignore b/.gitignore index 1c0f903..3e78b1b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ **/*.*.user **/*.autosave **/*.*.autosave +.cache/ # C++ objects and libs *.slo diff --git a/src/.cache/clangd/index/CMakeCXXCompilerId.cpp.B2729662287364D1.idx b/src/.cache/clangd/index/CMakeCXXCompilerId.cpp.B2729662287364D1.idx deleted file mode 100644 index c8f671f..0000000 Binary files a/src/.cache/clangd/index/CMakeCXXCompilerId.cpp.B2729662287364D1.idx and /dev/null differ diff --git a/src/.cache/clangd/index/aboutform.cpp.41D567385878C337.idx b/src/.cache/clangd/index/aboutform.cpp.41D567385878C337.idx deleted file mode 100644 index 63eb7d7..0000000 Binary files a/src/.cache/clangd/index/aboutform.cpp.41D567385878C337.idx and /dev/null differ diff --git a/src/.cache/clangd/index/aboutform.h.C76EFC9AB9C07F37.idx b/src/.cache/clangd/index/aboutform.h.C76EFC9AB9C07F37.idx deleted file mode 100644 index 2b55a79..0000000 Binary files a/src/.cache/clangd/index/aboutform.h.C76EFC9AB9C07F37.idx and /dev/null differ diff --git a/src/.cache/clangd/index/analysisoperationrecorder.cpp.FFDDEA0838604290.idx b/src/.cache/clangd/index/analysisoperationrecorder.cpp.FFDDEA0838604290.idx deleted file mode 100644 index f826444..0000000 Binary files a/src/.cache/clangd/index/analysisoperationrecorder.cpp.FFDDEA0838604290.idx and /dev/null differ diff --git a/src/.cache/clangd/index/analysisoperationrecorder.h.831AC27832DA767D.idx b/src/.cache/clangd/index/analysisoperationrecorder.h.831AC27832DA767D.idx deleted file mode 100644 index 57a7c3f..0000000 Binary files a/src/.cache/clangd/index/analysisoperationrecorder.h.831AC27832DA767D.idx and /dev/null differ diff --git a/src/.cache/clangd/index/analysissettingform.cpp.3491810068FBAC18.idx b/src/.cache/clangd/index/analysissettingform.cpp.3491810068FBAC18.idx deleted file mode 100644 index 1412ec8..0000000 Binary files a/src/.cache/clangd/index/analysissettingform.cpp.3491810068FBAC18.idx and /dev/null differ diff --git a/src/.cache/clangd/index/analysissettingform.h.C087B8DDE4BF565C.idx b/src/.cache/clangd/index/analysissettingform.h.C087B8DDE4BF565C.idx deleted file mode 100644 index 44d6810..0000000 Binary files a/src/.cache/clangd/index/analysissettingform.h.C087B8DDE4BF565C.idx and /dev/null differ diff --git a/src/.cache/clangd/index/axissettingform.cpp.0BA745C27D470874.idx b/src/.cache/clangd/index/axissettingform.cpp.0BA745C27D470874.idx deleted file mode 100644 index 31f114c..0000000 Binary files a/src/.cache/clangd/index/axissettingform.cpp.0BA745C27D470874.idx and /dev/null differ diff --git a/src/.cache/clangd/index/axissettingform.h.16BDA6002B57BE2D.idx b/src/.cache/clangd/index/axissettingform.h.16BDA6002B57BE2D.idx deleted file mode 100644 index 6640016..0000000 Binary files a/src/.cache/clangd/index/axissettingform.h.16BDA6002B57BE2D.idx and /dev/null differ diff --git a/src/.cache/clangd/index/centralwidget.cpp.966ACEB142F1EE12.idx b/src/.cache/clangd/index/centralwidget.cpp.966ACEB142F1EE12.idx deleted file mode 100644 index 81f936e..0000000 Binary files a/src/.cache/clangd/index/centralwidget.cpp.966ACEB142F1EE12.idx and /dev/null differ diff --git a/src/.cache/clangd/index/centralwidget.h.588D9A45E10D3A7F.idx b/src/.cache/clangd/index/centralwidget.h.588D9A45E10D3A7F.idx deleted file mode 100644 index 9508fb8..0000000 Binary files a/src/.cache/clangd/index/centralwidget.h.588D9A45E10D3A7F.idx and /dev/null differ diff --git a/src/.cache/clangd/index/coefficientselectionform.cpp.EAB312A6E84A36F9.idx b/src/.cache/clangd/index/coefficientselectionform.cpp.EAB312A6E84A36F9.idx deleted file mode 100644 index 3cdf1ae..0000000 Binary files a/src/.cache/clangd/index/coefficientselectionform.cpp.EAB312A6E84A36F9.idx and /dev/null differ diff --git a/src/.cache/clangd/index/coefficientselectionform.h.ACEA1F7DBC49CAB9.idx b/src/.cache/clangd/index/coefficientselectionform.h.ACEA1F7DBC49CAB9.idx deleted file mode 100644 index 9a27efc..0000000 Binary files a/src/.cache/clangd/index/coefficientselectionform.h.ACEA1F7DBC49CAB9.idx and /dev/null differ diff --git a/src/.cache/clangd/index/confighandler.cpp.439735CD7B87DDFC.idx b/src/.cache/clangd/index/confighandler.cpp.439735CD7B87DDFC.idx deleted file mode 100644 index 44960d9..0000000 Binary files a/src/.cache/clangd/index/confighandler.cpp.439735CD7B87DDFC.idx and /dev/null differ diff --git a/src/.cache/clangd/index/confighandler.h.C9D2456385762F00.idx b/src/.cache/clangd/index/confighandler.h.C9D2456385762F00.idx deleted file mode 100644 index f4a0d67..0000000 Binary files a/src/.cache/clangd/index/confighandler.h.C9D2456385762F00.idx and /dev/null differ diff --git a/src/.cache/clangd/index/dataparser.cpp.2106BA19DD4D57AD.idx b/src/.cache/clangd/index/dataparser.cpp.2106BA19DD4D57AD.idx deleted file mode 100644 index 050fd1c..0000000 Binary files a/src/.cache/clangd/index/dataparser.cpp.2106BA19DD4D57AD.idx and /dev/null differ diff --git a/src/.cache/clangd/index/dataparser.h.D0D13647D60AFF76.idx b/src/.cache/clangd/index/dataparser.h.D0D13647D60AFF76.idx deleted file mode 100644 index 25e706b..0000000 Binary files a/src/.cache/clangd/index/dataparser.h.D0D13647D60AFF76.idx and /dev/null differ diff --git a/src/.cache/clangd/index/defines.h.814E11B094AE4B82.idx b/src/.cache/clangd/index/defines.h.814E11B094AE4B82.idx deleted file mode 100644 index 30a4313..0000000 Binary files a/src/.cache/clangd/index/defines.h.814E11B094AE4B82.idx and /dev/null differ diff --git a/src/.cache/clangd/index/degreeofcrystallinityform.cpp.D15F39BE390BCB4C.idx b/src/.cache/clangd/index/degreeofcrystallinityform.cpp.D15F39BE390BCB4C.idx deleted file mode 100644 index 21386ac..0000000 Binary files a/src/.cache/clangd/index/degreeofcrystallinityform.cpp.D15F39BE390BCB4C.idx and /dev/null differ diff --git a/src/.cache/clangd/index/degreeofcrystallinityform.h.2B0B28DD50C905FB.idx b/src/.cache/clangd/index/degreeofcrystallinityform.h.2B0B28DD50C905FB.idx deleted file mode 100644 index 11d8c86..0000000 Binary files a/src/.cache/clangd/index/degreeofcrystallinityform.h.2B0B28DD50C905FB.idx and /dev/null differ diff --git a/src/.cache/clangd/index/degreeofcureform.cpp.5EFABD55810BB92D.idx b/src/.cache/clangd/index/degreeofcureform.cpp.5EFABD55810BB92D.idx deleted file mode 100644 index d087db6..0000000 Binary files a/src/.cache/clangd/index/degreeofcureform.cpp.5EFABD55810BB92D.idx and /dev/null differ diff --git a/src/.cache/clangd/index/degreeofcureform.h.478F961572F20B2F.idx b/src/.cache/clangd/index/degreeofcureform.h.478F961572F20B2F.idx deleted file mode 100644 index d3a8b11..0000000 Binary files a/src/.cache/clangd/index/degreeofcureform.h.478F961572F20B2F.idx and /dev/null differ diff --git a/src/.cache/clangd/index/doc_src_qtxlsx.cpp.268808BC7ABE9E5A.idx b/src/.cache/clangd/index/doc_src_qtxlsx.cpp.268808BC7ABE9E5A.idx deleted file mode 100644 index fd9fd93..0000000 Binary files a/src/.cache/clangd/index/doc_src_qtxlsx.cpp.268808BC7ABE9E5A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/enthalpydatacorrectionform.cpp.68AFA0E514804F2E.idx b/src/.cache/clangd/index/enthalpydatacorrectionform.cpp.68AFA0E514804F2E.idx deleted file mode 100644 index 6b07c38..0000000 Binary files a/src/.cache/clangd/index/enthalpydatacorrectionform.cpp.68AFA0E514804F2E.idx and /dev/null differ diff --git a/src/.cache/clangd/index/enthalpydatacorrectionform.h.17930260BCDE1AD8.idx b/src/.cache/clangd/index/enthalpydatacorrectionform.h.17930260BCDE1AD8.idx deleted file mode 100644 index 0d66150..0000000 Binary files a/src/.cache/clangd/index/enthalpydatacorrectionform.h.17930260BCDE1AD8.idx and /dev/null differ diff --git a/src/.cache/clangd/index/eventhandler.cpp.B73F016B9FDD9C7B.idx b/src/.cache/clangd/index/eventhandler.cpp.B73F016B9FDD9C7B.idx deleted file mode 100644 index b826953..0000000 Binary files a/src/.cache/clangd/index/eventhandler.cpp.B73F016B9FDD9C7B.idx and /dev/null differ diff --git a/src/.cache/clangd/index/eventhandler.h.973D5677004D1A01.idx b/src/.cache/clangd/index/eventhandler.h.973D5677004D1A01.idx deleted file mode 100644 index 0205b9f..0000000 Binary files a/src/.cache/clangd/index/eventhandler.h.973D5677004D1A01.idx and /dev/null differ diff --git a/src/.cache/clangd/index/experimentsettingform.cpp.A895DF59E29886BD.idx b/src/.cache/clangd/index/experimentsettingform.cpp.A895DF59E29886BD.idx deleted file mode 100644 index 3ca28f0..0000000 Binary files a/src/.cache/clangd/index/experimentsettingform.cpp.A895DF59E29886BD.idx and /dev/null differ diff --git a/src/.cache/clangd/index/experimentsettingform.h.549E2F7B66B45F74.idx b/src/.cache/clangd/index/experimentsettingform.h.549E2F7B66B45F74.idx deleted file mode 100644 index eadb4e3..0000000 Binary files a/src/.cache/clangd/index/experimentsettingform.h.549E2F7B66B45F74.idx and /dev/null differ diff --git a/src/.cache/clangd/index/filemanager.cpp.525FCE6AC2C893C9.idx b/src/.cache/clangd/index/filemanager.cpp.525FCE6AC2C893C9.idx deleted file mode 100644 index 8feb65f..0000000 Binary files a/src/.cache/clangd/index/filemanager.cpp.525FCE6AC2C893C9.idx and /dev/null differ diff --git a/src/.cache/clangd/index/filemanager.h.4B45DF84DAD9C56E.idx b/src/.cache/clangd/index/filemanager.h.4B45DF84DAD9C56E.idx deleted file mode 100644 index a015db2..0000000 Binary files a/src/.cache/clangd/index/filemanager.h.4B45DF84DAD9C56E.idx and /dev/null differ diff --git a/src/.cache/clangd/index/global.cpp.D9F28B29E8B8D1A4.idx b/src/.cache/clangd/index/global.cpp.D9F28B29E8B8D1A4.idx deleted file mode 100644 index f775086..0000000 Binary files a/src/.cache/clangd/index/global.cpp.D9F28B29E8B8D1A4.idx and /dev/null differ diff --git a/src/.cache/clangd/index/global.h.FE9BA478DF7D1A22.idx b/src/.cache/clangd/index/global.h.FE9BA478DF7D1A22.idx deleted file mode 100644 index a5cce58..0000000 Binary files a/src/.cache/clangd/index/global.h.FE9BA478DF7D1A22.idx and /dev/null differ diff --git a/src/.cache/clangd/index/instrumentcoefficientform.cpp.425903C8387F1E3F.idx b/src/.cache/clangd/index/instrumentcoefficientform.cpp.425903C8387F1E3F.idx deleted file mode 100644 index 7e2dcb1..0000000 Binary files a/src/.cache/clangd/index/instrumentcoefficientform.cpp.425903C8387F1E3F.idx and /dev/null differ diff --git a/src/.cache/clangd/index/instrumentcoefficientform.h.9937F91DBC9FBE49.idx b/src/.cache/clangd/index/instrumentcoefficientform.h.9937F91DBC9FBE49.idx deleted file mode 100644 index 30d4e60..0000000 Binary files a/src/.cache/clangd/index/instrumentcoefficientform.h.9937F91DBC9FBE49.idx and /dev/null differ diff --git a/src/.cache/clangd/index/itemmanager.cpp.0EAE24FCB65A984C.idx b/src/.cache/clangd/index/itemmanager.cpp.0EAE24FCB65A984C.idx deleted file mode 100644 index 1110f54..0000000 Binary files a/src/.cache/clangd/index/itemmanager.cpp.0EAE24FCB65A984C.idx and /dev/null differ diff --git a/src/.cache/clangd/index/itemmanager.h.F8184D5A2B5EE74D.idx b/src/.cache/clangd/index/itemmanager.h.F8184D5A2B5EE74D.idx deleted file mode 100644 index 2ee99cc..0000000 Binary files a/src/.cache/clangd/index/itemmanager.h.F8184D5A2B5EE74D.idx and /dev/null differ diff --git a/src/.cache/clangd/index/leftwidget.cpp.C3497D6A59EAB924.idx b/src/.cache/clangd/index/leftwidget.cpp.C3497D6A59EAB924.idx deleted file mode 100644 index e902d0f..0000000 Binary files a/src/.cache/clangd/index/leftwidget.cpp.C3497D6A59EAB924.idx and /dev/null differ diff --git a/src/.cache/clangd/index/leftwidget.h.233B27437BA39CF7.idx b/src/.cache/clangd/index/leftwidget.h.233B27437BA39CF7.idx deleted file mode 100644 index f9548d3..0000000 Binary files a/src/.cache/clangd/index/leftwidget.h.233B27437BA39CF7.idx and /dev/null differ diff --git a/src/.cache/clangd/index/localcustomplot.cpp.55D449C0CE3DB096.idx b/src/.cache/clangd/index/localcustomplot.cpp.55D449C0CE3DB096.idx deleted file mode 100644 index 927a8f1..0000000 Binary files a/src/.cache/clangd/index/localcustomplot.cpp.55D449C0CE3DB096.idx and /dev/null differ diff --git a/src/.cache/clangd/index/localcustomplot.h.46B2EF9AF523E314.idx b/src/.cache/clangd/index/localcustomplot.h.46B2EF9AF523E314.idx deleted file mode 100644 index b397d7d..0000000 Binary files a/src/.cache/clangd/index/localcustomplot.h.46B2EF9AF523E314.idx and /dev/null differ diff --git a/src/.cache/clangd/index/logger.cpp.E1E75B2A818E94E5.idx b/src/.cache/clangd/index/logger.cpp.E1E75B2A818E94E5.idx deleted file mode 100644 index 1a94d9e..0000000 Binary files a/src/.cache/clangd/index/logger.cpp.E1E75B2A818E94E5.idx and /dev/null differ diff --git a/src/.cache/clangd/index/logger.h.B07D0A6D07CDAF5B.idx b/src/.cache/clangd/index/logger.h.B07D0A6D07CDAF5B.idx deleted file mode 100644 index 5451559..0000000 Binary files a/src/.cache/clangd/index/logger.h.B07D0A6D07CDAF5B.idx and /dev/null differ diff --git a/src/.cache/clangd/index/lowesssmoother.cpp.355E8556C83B97CC.idx b/src/.cache/clangd/index/lowesssmoother.cpp.355E8556C83B97CC.idx deleted file mode 100644 index 9e78b7e..0000000 Binary files a/src/.cache/clangd/index/lowesssmoother.cpp.355E8556C83B97CC.idx and /dev/null differ diff --git a/src/.cache/clangd/index/lowesssmoother.h.62DCD35F9168F5D8.idx b/src/.cache/clangd/index/lowesssmoother.h.62DCD35F9168F5D8.idx deleted file mode 100644 index d3ee431..0000000 Binary files a/src/.cache/clangd/index/lowesssmoother.h.62DCD35F9168F5D8.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.0EAC258B229EC6FF.idx b/src/.cache/clangd/index/main.cpp.0EAC258B229EC6FF.idx deleted file mode 100644 index 4c823a9..0000000 Binary files a/src/.cache/clangd/index/main.cpp.0EAC258B229EC6FF.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.1466285FC0A01ABD.idx b/src/.cache/clangd/index/main.cpp.1466285FC0A01ABD.idx deleted file mode 100644 index 71a6daa..0000000 Binary files a/src/.cache/clangd/index/main.cpp.1466285FC0A01ABD.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.1CE4B57EFFBC08F0.idx b/src/.cache/clangd/index/main.cpp.1CE4B57EFFBC08F0.idx deleted file mode 100644 index 0ea7a0d..0000000 Binary files a/src/.cache/clangd/index/main.cpp.1CE4B57EFFBC08F0.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.1FAB249E9DB1281B.idx b/src/.cache/clangd/index/main.cpp.1FAB249E9DB1281B.idx deleted file mode 100644 index f169e90..0000000 Binary files a/src/.cache/clangd/index/main.cpp.1FAB249E9DB1281B.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.25F90907AF30CF73.idx b/src/.cache/clangd/index/main.cpp.25F90907AF30CF73.idx deleted file mode 100644 index e2a7f44..0000000 Binary files a/src/.cache/clangd/index/main.cpp.25F90907AF30CF73.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.2C0D6FE25F0E87E0.idx b/src/.cache/clangd/index/main.cpp.2C0D6FE25F0E87E0.idx deleted file mode 100644 index 4471b9b..0000000 Binary files a/src/.cache/clangd/index/main.cpp.2C0D6FE25F0E87E0.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.36EB7F6C84240259.idx b/src/.cache/clangd/index/main.cpp.36EB7F6C84240259.idx deleted file mode 100644 index 46c3fb3..0000000 Binary files a/src/.cache/clangd/index/main.cpp.36EB7F6C84240259.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.47396D81DFE867D5.idx b/src/.cache/clangd/index/main.cpp.47396D81DFE867D5.idx deleted file mode 100644 index e39a09d..0000000 Binary files a/src/.cache/clangd/index/main.cpp.47396D81DFE867D5.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.4915AE9A01646925.idx b/src/.cache/clangd/index/main.cpp.4915AE9A01646925.idx deleted file mode 100644 index 145727c..0000000 Binary files a/src/.cache/clangd/index/main.cpp.4915AE9A01646925.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.4CC7A2F9E82EF3C1.idx b/src/.cache/clangd/index/main.cpp.4CC7A2F9E82EF3C1.idx deleted file mode 100644 index 5842daf..0000000 Binary files a/src/.cache/clangd/index/main.cpp.4CC7A2F9E82EF3C1.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.5663F355D5B4C825.idx b/src/.cache/clangd/index/main.cpp.5663F355D5B4C825.idx deleted file mode 100644 index dabf976..0000000 Binary files a/src/.cache/clangd/index/main.cpp.5663F355D5B4C825.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.66E364F6927606E7.idx b/src/.cache/clangd/index/main.cpp.66E364F6927606E7.idx deleted file mode 100644 index 78f4db1..0000000 Binary files a/src/.cache/clangd/index/main.cpp.66E364F6927606E7.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.6D546819C5AB4369.idx b/src/.cache/clangd/index/main.cpp.6D546819C5AB4369.idx deleted file mode 100644 index d8a1eb6..0000000 Binary files a/src/.cache/clangd/index/main.cpp.6D546819C5AB4369.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.730669DCCE407A91.idx b/src/.cache/clangd/index/main.cpp.730669DCCE407A91.idx deleted file mode 100644 index 21efadb..0000000 Binary files a/src/.cache/clangd/index/main.cpp.730669DCCE407A91.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.7BBE747E8F719544.idx b/src/.cache/clangd/index/main.cpp.7BBE747E8F719544.idx deleted file mode 100644 index 1d6730c..0000000 Binary files a/src/.cache/clangd/index/main.cpp.7BBE747E8F719544.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.8E121437A3EF8572.idx b/src/.cache/clangd/index/main.cpp.8E121437A3EF8572.idx deleted file mode 100644 index b805ec8..0000000 Binary files a/src/.cache/clangd/index/main.cpp.8E121437A3EF8572.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.9CA7C4CB3C3149E1.idx b/src/.cache/clangd/index/main.cpp.9CA7C4CB3C3149E1.idx deleted file mode 100644 index dfade93..0000000 Binary files a/src/.cache/clangd/index/main.cpp.9CA7C4CB3C3149E1.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.A080E34BA8D85D40.idx b/src/.cache/clangd/index/main.cpp.A080E34BA8D85D40.idx deleted file mode 100644 index 2ef118e..0000000 Binary files a/src/.cache/clangd/index/main.cpp.A080E34BA8D85D40.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.CE44B1C34EAC967A.idx b/src/.cache/clangd/index/main.cpp.CE44B1C34EAC967A.idx deleted file mode 100644 index ac6b546..0000000 Binary files a/src/.cache/clangd/index/main.cpp.CE44B1C34EAC967A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.CE59A87BCFEE07E0.idx b/src/.cache/clangd/index/main.cpp.CE59A87BCFEE07E0.idx deleted file mode 100644 index b7e49ad..0000000 Binary files a/src/.cache/clangd/index/main.cpp.CE59A87BCFEE07E0.idx and /dev/null differ diff --git a/src/.cache/clangd/index/main.cpp.E53FA38F406E9B81.idx b/src/.cache/clangd/index/main.cpp.E53FA38F406E9B81.idx deleted file mode 100644 index edd0211..0000000 Binary files a/src/.cache/clangd/index/main.cpp.E53FA38F406E9B81.idx and /dev/null differ diff --git a/src/.cache/clangd/index/mainwindow.cpp.9EA7619C9360D044.idx b/src/.cache/clangd/index/mainwindow.cpp.9EA7619C9360D044.idx deleted file mode 100644 index 312d8df..0000000 Binary files a/src/.cache/clangd/index/mainwindow.cpp.9EA7619C9360D044.idx and /dev/null differ diff --git a/src/.cache/clangd/index/mainwindow.h.D832B59191103771.idx b/src/.cache/clangd/index/mainwindow.h.D832B59191103771.idx deleted file mode 100644 index 9883781..0000000 Binary files a/src/.cache/clangd/index/mainwindow.h.D832B59191103771.idx and /dev/null differ diff --git a/src/.cache/clangd/index/oitautoanalysis.cpp.7AE63ABFF101D70A.idx b/src/.cache/clangd/index/oitautoanalysis.cpp.7AE63ABFF101D70A.idx deleted file mode 100644 index a6b8c59..0000000 Binary files a/src/.cache/clangd/index/oitautoanalysis.cpp.7AE63ABFF101D70A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/oitautoanalysis.h.A0C40E816B636DB4.idx b/src/.cache/clangd/index/oitautoanalysis.h.A0C40E816B636DB4.idx deleted file mode 100644 index 24b2101..0000000 Binary files a/src/.cache/clangd/index/oitautoanalysis.h.A0C40E816B636DB4.idx and /dev/null differ diff --git a/src/.cache/clangd/index/oitautoanalysisparamform.cpp.6F60BD2D78CB9943.idx b/src/.cache/clangd/index/oitautoanalysisparamform.cpp.6F60BD2D78CB9943.idx deleted file mode 100644 index 605b603..0000000 Binary files a/src/.cache/clangd/index/oitautoanalysisparamform.cpp.6F60BD2D78CB9943.idx and /dev/null differ diff --git a/src/.cache/clangd/index/oitautoanalysisparamform.h.AF09A830433F54F9.idx b/src/.cache/clangd/index/oitautoanalysisparamform.h.AF09A830433F54F9.idx deleted file mode 100644 index 658a590..0000000 Binary files a/src/.cache/clangd/index/oitautoanalysisparamform.h.AF09A830433F54F9.idx and /dev/null differ diff --git a/src/.cache/clangd/index/pointcalculate.cpp.11565CA901556D42.idx b/src/.cache/clangd/index/pointcalculate.cpp.11565CA901556D42.idx deleted file mode 100644 index 42397f5..0000000 Binary files a/src/.cache/clangd/index/pointcalculate.cpp.11565CA901556D42.idx and /dev/null differ diff --git a/src/.cache/clangd/index/pointcalculate.h.0CA82BDEF76AA8B7.idx b/src/.cache/clangd/index/pointcalculate.h.0CA82BDEF76AA8B7.idx deleted file mode 100644 index 432ce8b..0000000 Binary files a/src/.cache/clangd/index/pointcalculate.h.0CA82BDEF76AA8B7.idx and /dev/null differ diff --git a/src/.cache/clangd/index/printereditform.cpp.EB05336258288E05.idx b/src/.cache/clangd/index/printereditform.cpp.EB05336258288E05.idx deleted file mode 100644 index 6b0379b..0000000 Binary files a/src/.cache/clangd/index/printereditform.cpp.EB05336258288E05.idx and /dev/null differ diff --git a/src/.cache/clangd/index/printereditform.h.A2A0841CE52D4353.idx b/src/.cache/clangd/index/printereditform.h.A2A0841CE52D4353.idx deleted file mode 100644 index 3253687..0000000 Binary files a/src/.cache/clangd/index/printereditform.h.A2A0841CE52D4353.idx and /dev/null differ diff --git a/src/.cache/clangd/index/printpreviewform.cpp.0987180A0D6CC747.idx b/src/.cache/clangd/index/printpreviewform.cpp.0987180A0D6CC747.idx deleted file mode 100644 index d4a0793..0000000 Binary files a/src/.cache/clangd/index/printpreviewform.cpp.0987180A0D6CC747.idx and /dev/null differ diff --git a/src/.cache/clangd/index/printpreviewform.h.F0E9B93866F6F4A2.idx b/src/.cache/clangd/index/printpreviewform.h.F0E9B93866F6F4A2.idx deleted file mode 100644 index 6354bc3..0000000 Binary files a/src/.cache/clangd/index/printpreviewform.h.F0E9B93866F6F4A2.idx and /dev/null differ diff --git a/src/.cache/clangd/index/protocol.h.AA475E7AB5DFD2BC.idx b/src/.cache/clangd/index/protocol.h.AA475E7AB5DFD2BC.idx deleted file mode 100644 index 355e39c..0000000 Binary files a/src/.cache/clangd/index/protocol.h.AA475E7AB5DFD2BC.idx and /dev/null differ diff --git a/src/.cache/clangd/index/qcustomplot.cpp.4F1374C3CCFD3D47.idx b/src/.cache/clangd/index/qcustomplot.cpp.4F1374C3CCFD3D47.idx deleted file mode 100644 index 70d0ee1..0000000 Binary files a/src/.cache/clangd/index/qcustomplot.cpp.4F1374C3CCFD3D47.idx and /dev/null differ diff --git a/src/.cache/clangd/index/qcustomplot.h.DC663C8D01B5B4E6.idx b/src/.cache/clangd/index/qcustomplot.h.DC663C8D01B5B4E6.idx deleted file mode 100644 index 50f2c8c..0000000 Binary files a/src/.cache/clangd/index/qcustomplot.h.DC663C8D01B5B4E6.idx and /dev/null differ diff --git a/src/.cache/clangd/index/realtimedataform.cpp.DED8448999B11705.idx b/src/.cache/clangd/index/realtimedataform.cpp.DED8448999B11705.idx deleted file mode 100644 index 655ba5a..0000000 Binary files a/src/.cache/clangd/index/realtimedataform.cpp.DED8448999B11705.idx and /dev/null differ diff --git a/src/.cache/clangd/index/realtimedataform.h.624092FE7A6EB6AF.idx b/src/.cache/clangd/index/realtimedataform.h.624092FE7A6EB6AF.idx deleted file mode 100644 index 27d54dd..0000000 Binary files a/src/.cache/clangd/index/realtimedataform.h.624092FE7A6EB6AF.idx and /dev/null differ diff --git a/src/.cache/clangd/index/rightwidget.cpp.1FCF6B608492C17A.idx b/src/.cache/clangd/index/rightwidget.cpp.1FCF6B608492C17A.idx deleted file mode 100644 index a5d8679..0000000 Binary files a/src/.cache/clangd/index/rightwidget.cpp.1FCF6B608492C17A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/rightwidget.h.B60CA2D7221790F8.idx b/src/.cache/clangd/index/rightwidget.h.B60CA2D7221790F8.idx deleted file mode 100644 index 75846e4..0000000 Binary files a/src/.cache/clangd/index/rightwidget.h.B60CA2D7221790F8.idx and /dev/null differ diff --git a/src/.cache/clangd/index/serialport.cpp.DF9884438B5CA214.idx b/src/.cache/clangd/index/serialport.cpp.DF9884438B5CA214.idx deleted file mode 100644 index bd5f900..0000000 Binary files a/src/.cache/clangd/index/serialport.cpp.DF9884438B5CA214.idx and /dev/null differ diff --git a/src/.cache/clangd/index/serialport.h.2BC3BD628EC85962.idx b/src/.cache/clangd/index/serialport.h.2BC3BD628EC85962.idx deleted file mode 100644 index 1c366c1..0000000 Binary files a/src/.cache/clangd/index/serialport.h.2BC3BD628EC85962.idx and /dev/null differ diff --git a/src/.cache/clangd/index/specificheatcomparisonmethodform.cpp.0D47E3581C6954DF.idx b/src/.cache/clangd/index/specificheatcomparisonmethodform.cpp.0D47E3581C6954DF.idx deleted file mode 100644 index 71a5f96..0000000 Binary files a/src/.cache/clangd/index/specificheatcomparisonmethodform.cpp.0D47E3581C6954DF.idx and /dev/null differ diff --git a/src/.cache/clangd/index/specificheatcomparisonmethodform.h.4A08D9CB361D33D6.idx b/src/.cache/clangd/index/specificheatcomparisonmethodform.h.4A08D9CB361D33D6.idx deleted file mode 100644 index 1d15739..0000000 Binary files a/src/.cache/clangd/index/specificheatcomparisonmethodform.h.4A08D9CB361D33D6.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_cellreferencetest.cpp.F9DAF390D7FE32E4.idx b/src/.cache/clangd/index/tst_cellreferencetest.cpp.F9DAF390D7FE32E4.idx deleted file mode 100644 index 93718a2..0000000 Binary files a/src/.cache/clangd/index/tst_cellreferencetest.cpp.F9DAF390D7FE32E4.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_conditionalformattingtest.cpp.1EA401352000EA8D.idx b/src/.cache/clangd/index/tst_conditionalformattingtest.cpp.1EA401352000EA8D.idx deleted file mode 100644 index fa6e108..0000000 Binary files a/src/.cache/clangd/index/tst_conditionalformattingtest.cpp.1EA401352000EA8D.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_docpropsapptest.cpp.F79BFFB1E7E3F71F.idx b/src/.cache/clangd/index/tst_docpropsapptest.cpp.F79BFFB1E7E3F71F.idx deleted file mode 100644 index 23b973f..0000000 Binary files a/src/.cache/clangd/index/tst_docpropsapptest.cpp.F79BFFB1E7E3F71F.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_documenttest.cpp.84219F5B4E36664A.idx b/src/.cache/clangd/index/tst_documenttest.cpp.84219F5B4E36664A.idx deleted file mode 100644 index 47e67b5..0000000 Binary files a/src/.cache/clangd/index/tst_documenttest.cpp.84219F5B4E36664A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_formattest.cpp.1D602F1DAF5FACA3.idx b/src/.cache/clangd/index/tst_formattest.cpp.1D602F1DAF5FACA3.idx deleted file mode 100644 index b5e44d8..0000000 Binary files a/src/.cache/clangd/index/tst_formattest.cpp.1D602F1DAF5FACA3.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_propscoretest.cpp.2166F69867189C88.idx b/src/.cache/clangd/index/tst_propscoretest.cpp.2166F69867189C88.idx deleted file mode 100644 index 76e1b27..0000000 Binary files a/src/.cache/clangd/index/tst_propscoretest.cpp.2166F69867189C88.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_relationshipstest.cpp.D0766D8853EE1289.idx b/src/.cache/clangd/index/tst_relationshipstest.cpp.D0766D8853EE1289.idx deleted file mode 100644 index ad952de..0000000 Binary files a/src/.cache/clangd/index/tst_relationshipstest.cpp.D0766D8853EE1289.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_richstringtest.cpp.66810ACFE34F6E0D.idx b/src/.cache/clangd/index/tst_richstringtest.cpp.66810ACFE34F6E0D.idx deleted file mode 100644 index 8bd8663..0000000 Binary files a/src/.cache/clangd/index/tst_richstringtest.cpp.66810ACFE34F6E0D.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_sharedstringstest.cpp.29121E9F98D290FD.idx b/src/.cache/clangd/index/tst_sharedstringstest.cpp.29121E9F98D290FD.idx deleted file mode 100644 index 86852c5..0000000 Binary files a/src/.cache/clangd/index/tst_sharedstringstest.cpp.29121E9F98D290FD.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_stylestest.cpp.2AAA76AA2D7CE0C9.idx b/src/.cache/clangd/index/tst_stylestest.cpp.2AAA76AA2D7CE0C9.idx deleted file mode 100644 index 33c9821..0000000 Binary files a/src/.cache/clangd/index/tst_stylestest.cpp.2AAA76AA2D7CE0C9.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_utilitytest.cpp.A87C0A9D5C546A96.idx b/src/.cache/clangd/index/tst_utilitytest.cpp.A87C0A9D5C546A96.idx deleted file mode 100644 index 94075aa..0000000 Binary files a/src/.cache/clangd/index/tst_utilitytest.cpp.A87C0A9D5C546A96.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_worksheet.cpp.647C05C2F9CEF964.idx b/src/.cache/clangd/index/tst_worksheet.cpp.647C05C2F9CEF964.idx deleted file mode 100644 index ca58c30..0000000 Binary files a/src/.cache/clangd/index/tst_worksheet.cpp.647C05C2F9CEF964.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_xmlspacetest.cpp.A07D0B05B01D1EE2.idx b/src/.cache/clangd/index/tst_xmlspacetest.cpp.A07D0B05B01D1EE2.idx deleted file mode 100644 index 2d8fc77..0000000 Binary files a/src/.cache/clangd/index/tst_xmlspacetest.cpp.A07D0B05B01D1EE2.idx and /dev/null differ diff --git a/src/.cache/clangd/index/tst_zipreadertest.cpp.2DC839D1DAAD7C1A.idx b/src/.cache/clangd/index/tst_zipreadertest.cpp.2DC839D1DAAD7C1A.idx deleted file mode 100644 index b90ed4d..0000000 Binary files a/src/.cache/clangd/index/tst_zipreadertest.cpp.2DC839D1DAAD7C1A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/txthandler.cpp.EB42E5D67EB01535.idx b/src/.cache/clangd/index/txthandler.cpp.EB42E5D67EB01535.idx deleted file mode 100644 index c0bc9b3..0000000 Binary files a/src/.cache/clangd/index/txthandler.cpp.EB42E5D67EB01535.idx and /dev/null differ diff --git a/src/.cache/clangd/index/txthandler.h.7374F25EA0A2D97E.idx b/src/.cache/clangd/index/txthandler.h.7374F25EA0A2D97E.idx deleted file mode 100644 index 4f2b8d6..0000000 Binary files a/src/.cache/clangd/index/txthandler.h.7374F25EA0A2D97E.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxabstractooxmlfile.cpp.566E430844629C30.idx b/src/.cache/clangd/index/xlsxabstractooxmlfile.cpp.566E430844629C30.idx deleted file mode 100644 index 8bfe449..0000000 Binary files a/src/.cache/clangd/index/xlsxabstractooxmlfile.cpp.566E430844629C30.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxabstractooxmlfile.h.89D11F684FBA7E59.idx b/src/.cache/clangd/index/xlsxabstractooxmlfile.h.89D11F684FBA7E59.idx deleted file mode 100644 index 39cfb5d..0000000 Binary files a/src/.cache/clangd/index/xlsxabstractooxmlfile.h.89D11F684FBA7E59.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxabstractooxmlfile_p.h.00C4471A5B066731.idx b/src/.cache/clangd/index/xlsxabstractooxmlfile_p.h.00C4471A5B066731.idx deleted file mode 100644 index c9e2aa3..0000000 Binary files a/src/.cache/clangd/index/xlsxabstractooxmlfile_p.h.00C4471A5B066731.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxabstractsheet.cpp.9DE0974ABC0E6DA9.idx b/src/.cache/clangd/index/xlsxabstractsheet.cpp.9DE0974ABC0E6DA9.idx deleted file mode 100644 index 1192d66..0000000 Binary files a/src/.cache/clangd/index/xlsxabstractsheet.cpp.9DE0974ABC0E6DA9.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxabstractsheet.h.E70B9E066E5B9109.idx b/src/.cache/clangd/index/xlsxabstractsheet.h.E70B9E066E5B9109.idx deleted file mode 100644 index da90920..0000000 Binary files a/src/.cache/clangd/index/xlsxabstractsheet.h.E70B9E066E5B9109.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxabstractsheet_p.h.87B50C2B6BA07C39.idx b/src/.cache/clangd/index/xlsxabstractsheet_p.h.87B50C2B6BA07C39.idx deleted file mode 100644 index 29072ae..0000000 Binary files a/src/.cache/clangd/index/xlsxabstractsheet_p.h.87B50C2B6BA07C39.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcell.cpp.FD88A65601EFF824.idx b/src/.cache/clangd/index/xlsxcell.cpp.FD88A65601EFF824.idx deleted file mode 100644 index a3aea98..0000000 Binary files a/src/.cache/clangd/index/xlsxcell.cpp.FD88A65601EFF824.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcell.h.AF9E93D43AAB0098.idx b/src/.cache/clangd/index/xlsxcell.h.AF9E93D43AAB0098.idx deleted file mode 100644 index 0bc0832..0000000 Binary files a/src/.cache/clangd/index/xlsxcell.h.AF9E93D43AAB0098.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcell_p.h.606E6D2C527C6377.idx b/src/.cache/clangd/index/xlsxcell_p.h.606E6D2C527C6377.idx deleted file mode 100644 index cd53496..0000000 Binary files a/src/.cache/clangd/index/xlsxcell_p.h.606E6D2C527C6377.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcellformula.cpp.00FF286F9792BE11.idx b/src/.cache/clangd/index/xlsxcellformula.cpp.00FF286F9792BE11.idx deleted file mode 100644 index debdc0c..0000000 Binary files a/src/.cache/clangd/index/xlsxcellformula.cpp.00FF286F9792BE11.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcellformula.h.A697005907186F28.idx b/src/.cache/clangd/index/xlsxcellformula.h.A697005907186F28.idx deleted file mode 100644 index 2063430..0000000 Binary files a/src/.cache/clangd/index/xlsxcellformula.h.A697005907186F28.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcellformula_p.h.4B9717626FE72820.idx b/src/.cache/clangd/index/xlsxcellformula_p.h.4B9717626FE72820.idx deleted file mode 100644 index 0ed13c5..0000000 Binary files a/src/.cache/clangd/index/xlsxcellformula_p.h.4B9717626FE72820.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcellrange.cpp.4940EE7F54460166.idx b/src/.cache/clangd/index/xlsxcellrange.cpp.4940EE7F54460166.idx deleted file mode 100644 index f35d9b9..0000000 Binary files a/src/.cache/clangd/index/xlsxcellrange.cpp.4940EE7F54460166.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcellrange.h.E337D11A0B3A71AB.idx b/src/.cache/clangd/index/xlsxcellrange.h.E337D11A0B3A71AB.idx deleted file mode 100644 index 5602fbb..0000000 Binary files a/src/.cache/clangd/index/xlsxcellrange.h.E337D11A0B3A71AB.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcellreference.cpp.088A4D98F1223B11.idx b/src/.cache/clangd/index/xlsxcellreference.cpp.088A4D98F1223B11.idx deleted file mode 100644 index 609b3c0..0000000 Binary files a/src/.cache/clangd/index/xlsxcellreference.cpp.088A4D98F1223B11.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcellreference.h.98BC927ADF5D2E9A.idx b/src/.cache/clangd/index/xlsxcellreference.h.98BC927ADF5D2E9A.idx deleted file mode 100644 index db4f858..0000000 Binary files a/src/.cache/clangd/index/xlsxcellreference.h.98BC927ADF5D2E9A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxchart.cpp.016CB8E3FFCC67B2.idx b/src/.cache/clangd/index/xlsxchart.cpp.016CB8E3FFCC67B2.idx deleted file mode 100644 index c519b40..0000000 Binary files a/src/.cache/clangd/index/xlsxchart.cpp.016CB8E3FFCC67B2.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxchart.h.81C4B019FC995500.idx b/src/.cache/clangd/index/xlsxchart.h.81C4B019FC995500.idx deleted file mode 100644 index fe99089..0000000 Binary files a/src/.cache/clangd/index/xlsxchart.h.81C4B019FC995500.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxchart_p.h.0808D2CE2D38C3FE.idx b/src/.cache/clangd/index/xlsxchart_p.h.0808D2CE2D38C3FE.idx deleted file mode 100644 index 8a7269e..0000000 Binary files a/src/.cache/clangd/index/xlsxchart_p.h.0808D2CE2D38C3FE.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxchartsheet.cpp.CF4134C1744FF8CF.idx b/src/.cache/clangd/index/xlsxchartsheet.cpp.CF4134C1744FF8CF.idx deleted file mode 100644 index 3b73717..0000000 Binary files a/src/.cache/clangd/index/xlsxchartsheet.cpp.CF4134C1744FF8CF.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxchartsheet.h.2F2CB6F0DC9F8C1C.idx b/src/.cache/clangd/index/xlsxchartsheet.h.2F2CB6F0DC9F8C1C.idx deleted file mode 100644 index 69c4d46..0000000 Binary files a/src/.cache/clangd/index/xlsxchartsheet.h.2F2CB6F0DC9F8C1C.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxchartsheet_p.h.C7A70B48C0F9BF69.idx b/src/.cache/clangd/index/xlsxchartsheet_p.h.C7A70B48C0F9BF69.idx deleted file mode 100644 index 0c78dab..0000000 Binary files a/src/.cache/clangd/index/xlsxchartsheet_p.h.C7A70B48C0F9BF69.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcolor.cpp.779F56E5E8ACC1A5.idx b/src/.cache/clangd/index/xlsxcolor.cpp.779F56E5E8ACC1A5.idx deleted file mode 100644 index 329825e..0000000 Binary files a/src/.cache/clangd/index/xlsxcolor.cpp.779F56E5E8ACC1A5.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcolor_p.h.1457A89EE48A52D9.idx b/src/.cache/clangd/index/xlsxcolor_p.h.1457A89EE48A52D9.idx deleted file mode 100644 index 56fa112..0000000 Binary files a/src/.cache/clangd/index/xlsxcolor_p.h.1457A89EE48A52D9.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxconditionalformatting.cpp.290D5AB620CE50F6.idx b/src/.cache/clangd/index/xlsxconditionalformatting.cpp.290D5AB620CE50F6.idx deleted file mode 100644 index a0064ed..0000000 Binary files a/src/.cache/clangd/index/xlsxconditionalformatting.cpp.290D5AB620CE50F6.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxconditionalformatting.h.2A783D2F506A1175.idx b/src/.cache/clangd/index/xlsxconditionalformatting.h.2A783D2F506A1175.idx deleted file mode 100644 index 917062a..0000000 Binary files a/src/.cache/clangd/index/xlsxconditionalformatting.h.2A783D2F506A1175.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxconditionalformatting_p.h.A93D299237C70106.idx b/src/.cache/clangd/index/xlsxconditionalformatting_p.h.A93D299237C70106.idx deleted file mode 100644 index 8a693eb..0000000 Binary files a/src/.cache/clangd/index/xlsxconditionalformatting_p.h.A93D299237C70106.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcontenttypes.cpp.74D1A790AFA84549.idx b/src/.cache/clangd/index/xlsxcontenttypes.cpp.74D1A790AFA84549.idx deleted file mode 100644 index ea94015..0000000 Binary files a/src/.cache/clangd/index/xlsxcontenttypes.cpp.74D1A790AFA84549.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxcontenttypes_p.h.A105116C5FC5DD8A.idx b/src/.cache/clangd/index/xlsxcontenttypes_p.h.A105116C5FC5DD8A.idx deleted file mode 100644 index d196c97..0000000 Binary files a/src/.cache/clangd/index/xlsxcontenttypes_p.h.A105116C5FC5DD8A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdatavalidation.cpp.84EA717ACA17A8B7.idx b/src/.cache/clangd/index/xlsxdatavalidation.cpp.84EA717ACA17A8B7.idx deleted file mode 100644 index 3abc290..0000000 Binary files a/src/.cache/clangd/index/xlsxdatavalidation.cpp.84EA717ACA17A8B7.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdatavalidation.h.B2DD872B5795D95D.idx b/src/.cache/clangd/index/xlsxdatavalidation.h.B2DD872B5795D95D.idx deleted file mode 100644 index 5c027c7..0000000 Binary files a/src/.cache/clangd/index/xlsxdatavalidation.h.B2DD872B5795D95D.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdatavalidation_p.h.D80C03F55796058B.idx b/src/.cache/clangd/index/xlsxdatavalidation_p.h.D80C03F55796058B.idx deleted file mode 100644 index 573349e..0000000 Binary files a/src/.cache/clangd/index/xlsxdatavalidation_p.h.D80C03F55796058B.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdocpropsapp.cpp.CCAACFB706D337DE.idx b/src/.cache/clangd/index/xlsxdocpropsapp.cpp.CCAACFB706D337DE.idx deleted file mode 100644 index 29f7c70..0000000 Binary files a/src/.cache/clangd/index/xlsxdocpropsapp.cpp.CCAACFB706D337DE.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdocpropsapp_p.h.EA6A925C5F0839C6.idx b/src/.cache/clangd/index/xlsxdocpropsapp_p.h.EA6A925C5F0839C6.idx deleted file mode 100644 index 8ad0d46..0000000 Binary files a/src/.cache/clangd/index/xlsxdocpropsapp_p.h.EA6A925C5F0839C6.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdocpropscore.cpp.C39DF159600C6689.idx b/src/.cache/clangd/index/xlsxdocpropscore.cpp.C39DF159600C6689.idx deleted file mode 100644 index 2777b35..0000000 Binary files a/src/.cache/clangd/index/xlsxdocpropscore.cpp.C39DF159600C6689.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdocpropscore_p.h.1333814AF3F3C048.idx b/src/.cache/clangd/index/xlsxdocpropscore_p.h.1333814AF3F3C048.idx deleted file mode 100644 index f188988..0000000 Binary files a/src/.cache/clangd/index/xlsxdocpropscore_p.h.1333814AF3F3C048.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdocument.cpp.BC50EF3AE13DD7EE.idx b/src/.cache/clangd/index/xlsxdocument.cpp.BC50EF3AE13DD7EE.idx deleted file mode 100644 index 0cdd914..0000000 Binary files a/src/.cache/clangd/index/xlsxdocument.cpp.BC50EF3AE13DD7EE.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdocument.h.D847E77372A3532B.idx b/src/.cache/clangd/index/xlsxdocument.h.D847E77372A3532B.idx deleted file mode 100644 index d41954e..0000000 Binary files a/src/.cache/clangd/index/xlsxdocument.h.D847E77372A3532B.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdocument_p.h.F2A1F8E5F23DF4E9.idx b/src/.cache/clangd/index/xlsxdocument_p.h.F2A1F8E5F23DF4E9.idx deleted file mode 100644 index 8e2dc23..0000000 Binary files a/src/.cache/clangd/index/xlsxdocument_p.h.F2A1F8E5F23DF4E9.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdrawing.cpp.BF1A5DEA8A6907A4.idx b/src/.cache/clangd/index/xlsxdrawing.cpp.BF1A5DEA8A6907A4.idx deleted file mode 100644 index 426aecb..0000000 Binary files a/src/.cache/clangd/index/xlsxdrawing.cpp.BF1A5DEA8A6907A4.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdrawing_p.h.85DFCD23F434A041.idx b/src/.cache/clangd/index/xlsxdrawing_p.h.85DFCD23F434A041.idx deleted file mode 100644 index fefcb9b..0000000 Binary files a/src/.cache/clangd/index/xlsxdrawing_p.h.85DFCD23F434A041.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdrawinganchor.cpp.BFBBA45B014B58DB.idx b/src/.cache/clangd/index/xlsxdrawinganchor.cpp.BFBBA45B014B58DB.idx deleted file mode 100644 index 140f415..0000000 Binary files a/src/.cache/clangd/index/xlsxdrawinganchor.cpp.BFBBA45B014B58DB.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxdrawinganchor_p.h.27D14374D2B629F5.idx b/src/.cache/clangd/index/xlsxdrawinganchor_p.h.27D14374D2B629F5.idx deleted file mode 100644 index cff4246..0000000 Binary files a/src/.cache/clangd/index/xlsxdrawinganchor_p.h.27D14374D2B629F5.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxformat.cpp.B281873D4BDBBA9A.idx b/src/.cache/clangd/index/xlsxformat.cpp.B281873D4BDBBA9A.idx deleted file mode 100644 index cddbb9a..0000000 Binary files a/src/.cache/clangd/index/xlsxformat.cpp.B281873D4BDBBA9A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxformat.h.87956B2952AC77A3.idx b/src/.cache/clangd/index/xlsxformat.h.87956B2952AC77A3.idx deleted file mode 100644 index 782b2d0..0000000 Binary files a/src/.cache/clangd/index/xlsxformat.h.87956B2952AC77A3.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxformat_p.h.E84456A83A854D97.idx b/src/.cache/clangd/index/xlsxformat_p.h.E84456A83A854D97.idx deleted file mode 100644 index c566ed5..0000000 Binary files a/src/.cache/clangd/index/xlsxformat_p.h.E84456A83A854D97.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxglobal.h.3C2FF599ECED543E.idx b/src/.cache/clangd/index/xlsxglobal.h.3C2FF599ECED543E.idx deleted file mode 100644 index f3c9428..0000000 Binary files a/src/.cache/clangd/index/xlsxglobal.h.3C2FF599ECED543E.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxhandler.cpp.C9D7A5942D7C7DA3.idx b/src/.cache/clangd/index/xlsxhandler.cpp.C9D7A5942D7C7DA3.idx deleted file mode 100644 index 66201a6..0000000 Binary files a/src/.cache/clangd/index/xlsxhandler.cpp.C9D7A5942D7C7DA3.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxhandler.h.E5EC45CCB478161A.idx b/src/.cache/clangd/index/xlsxhandler.h.E5EC45CCB478161A.idx deleted file mode 100644 index 8390ab8..0000000 Binary files a/src/.cache/clangd/index/xlsxhandler.h.E5EC45CCB478161A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxmediafile.cpp.B0E68905E36989E7.idx b/src/.cache/clangd/index/xlsxmediafile.cpp.B0E68905E36989E7.idx deleted file mode 100644 index 492b5c0..0000000 Binary files a/src/.cache/clangd/index/xlsxmediafile.cpp.B0E68905E36989E7.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxmediafile_p.h.DFF7E3A802B818A2.idx b/src/.cache/clangd/index/xlsxmediafile_p.h.DFF7E3A802B818A2.idx deleted file mode 100644 index a7d75bf..0000000 Binary files a/src/.cache/clangd/index/xlsxmediafile_p.h.DFF7E3A802B818A2.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxnumformatparser.cpp.23A0413001080DBA.idx b/src/.cache/clangd/index/xlsxnumformatparser.cpp.23A0413001080DBA.idx deleted file mode 100644 index 8410d54..0000000 Binary files a/src/.cache/clangd/index/xlsxnumformatparser.cpp.23A0413001080DBA.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxnumformatparser_p.h.B06ED6B1A56CD015.idx b/src/.cache/clangd/index/xlsxnumformatparser_p.h.B06ED6B1A56CD015.idx deleted file mode 100644 index e3fba4d..0000000 Binary files a/src/.cache/clangd/index/xlsxnumformatparser_p.h.B06ED6B1A56CD015.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxrelationships.cpp.D1757832E8C0C75C.idx b/src/.cache/clangd/index/xlsxrelationships.cpp.D1757832E8C0C75C.idx deleted file mode 100644 index 7c9decc..0000000 Binary files a/src/.cache/clangd/index/xlsxrelationships.cpp.D1757832E8C0C75C.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxrelationships_p.h.302F6B0093F921B1.idx b/src/.cache/clangd/index/xlsxrelationships_p.h.302F6B0093F921B1.idx deleted file mode 100644 index a9ef8c9..0000000 Binary files a/src/.cache/clangd/index/xlsxrelationships_p.h.302F6B0093F921B1.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxrichstring.cpp.DB0F7C94DE8E09B9.idx b/src/.cache/clangd/index/xlsxrichstring.cpp.DB0F7C94DE8E09B9.idx deleted file mode 100644 index 97473e4..0000000 Binary files a/src/.cache/clangd/index/xlsxrichstring.cpp.DB0F7C94DE8E09B9.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxrichstring.h.7725B8ABF8CA2C7F.idx b/src/.cache/clangd/index/xlsxrichstring.h.7725B8ABF8CA2C7F.idx deleted file mode 100644 index be7418d..0000000 Binary files a/src/.cache/clangd/index/xlsxrichstring.h.7725B8ABF8CA2C7F.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxrichstring_p.h.078E523A55471EEA.idx b/src/.cache/clangd/index/xlsxrichstring_p.h.078E523A55471EEA.idx deleted file mode 100644 index 5403420..0000000 Binary files a/src/.cache/clangd/index/xlsxrichstring_p.h.078E523A55471EEA.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxsharedstrings.cpp.7719B9AF7557D37D.idx b/src/.cache/clangd/index/xlsxsharedstrings.cpp.7719B9AF7557D37D.idx deleted file mode 100644 index 0620ea7..0000000 Binary files a/src/.cache/clangd/index/xlsxsharedstrings.cpp.7719B9AF7557D37D.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxsharedstrings_p.h.C27E06C8A632CA9D.idx b/src/.cache/clangd/index/xlsxsharedstrings_p.h.C27E06C8A632CA9D.idx deleted file mode 100644 index 114234e..0000000 Binary files a/src/.cache/clangd/index/xlsxsharedstrings_p.h.C27E06C8A632CA9D.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxsheetmodel.cpp.2916BD08F5362201.idx b/src/.cache/clangd/index/xlsxsheetmodel.cpp.2916BD08F5362201.idx deleted file mode 100644 index 78c7864..0000000 Binary files a/src/.cache/clangd/index/xlsxsheetmodel.cpp.2916BD08F5362201.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxsheetmodel.h.E0F351D7626A515B.idx b/src/.cache/clangd/index/xlsxsheetmodel.h.E0F351D7626A515B.idx deleted file mode 100644 index 448d8d3..0000000 Binary files a/src/.cache/clangd/index/xlsxsheetmodel.h.E0F351D7626A515B.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxsheetmodel_p.h.FC8ED2BCF3A38232.idx b/src/.cache/clangd/index/xlsxsheetmodel_p.h.FC8ED2BCF3A38232.idx deleted file mode 100644 index f305290..0000000 Binary files a/src/.cache/clangd/index/xlsxsheetmodel_p.h.FC8ED2BCF3A38232.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxsimpleooxmlfile.cpp.934244609E8FADE1.idx b/src/.cache/clangd/index/xlsxsimpleooxmlfile.cpp.934244609E8FADE1.idx deleted file mode 100644 index 509111b..0000000 Binary files a/src/.cache/clangd/index/xlsxsimpleooxmlfile.cpp.934244609E8FADE1.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxsimpleooxmlfile_p.h.9E9352ECD539A743.idx b/src/.cache/clangd/index/xlsxsimpleooxmlfile_p.h.9E9352ECD539A743.idx deleted file mode 100644 index 78c8d6d..0000000 Binary files a/src/.cache/clangd/index/xlsxsimpleooxmlfile_p.h.9E9352ECD539A743.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxstyles.cpp.03766CE131F2BB78.idx b/src/.cache/clangd/index/xlsxstyles.cpp.03766CE131F2BB78.idx deleted file mode 100644 index bc1f855..0000000 Binary files a/src/.cache/clangd/index/xlsxstyles.cpp.03766CE131F2BB78.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxstyles_p.h.B50133F4EB803D80.idx b/src/.cache/clangd/index/xlsxstyles_p.h.B50133F4EB803D80.idx deleted file mode 100644 index 2a165cd..0000000 Binary files a/src/.cache/clangd/index/xlsxstyles_p.h.B50133F4EB803D80.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxtheme.cpp.11979BC230C89479.idx b/src/.cache/clangd/index/xlsxtheme.cpp.11979BC230C89479.idx deleted file mode 100644 index 1e18d5d..0000000 Binary files a/src/.cache/clangd/index/xlsxtheme.cpp.11979BC230C89479.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxtheme_p.h.C305E603200B381B.idx b/src/.cache/clangd/index/xlsxtheme_p.h.C305E603200B381B.idx deleted file mode 100644 index 19af897..0000000 Binary files a/src/.cache/clangd/index/xlsxtheme_p.h.C305E603200B381B.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxutility.cpp.68F3C02A5018EEC4.idx b/src/.cache/clangd/index/xlsxutility.cpp.68F3C02A5018EEC4.idx deleted file mode 100644 index 9171cd2..0000000 Binary files a/src/.cache/clangd/index/xlsxutility.cpp.68F3C02A5018EEC4.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxutility_p.h.9B6D29CCEDD209E6.idx b/src/.cache/clangd/index/xlsxutility_p.h.9B6D29CCEDD209E6.idx deleted file mode 100644 index c7d4e28..0000000 Binary files a/src/.cache/clangd/index/xlsxutility_p.h.9B6D29CCEDD209E6.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxworkbook.cpp.FFABCDC210FD2CCF.idx b/src/.cache/clangd/index/xlsxworkbook.cpp.FFABCDC210FD2CCF.idx deleted file mode 100644 index 45621ac..0000000 Binary files a/src/.cache/clangd/index/xlsxworkbook.cpp.FFABCDC210FD2CCF.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxworkbook.h.7D10622E5EE87E35.idx b/src/.cache/clangd/index/xlsxworkbook.h.7D10622E5EE87E35.idx deleted file mode 100644 index 7f5051c..0000000 Binary files a/src/.cache/clangd/index/xlsxworkbook.h.7D10622E5EE87E35.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxworkbook_p.h.04169CA2B969B943.idx b/src/.cache/clangd/index/xlsxworkbook_p.h.04169CA2B969B943.idx deleted file mode 100644 index c4d5adf..0000000 Binary files a/src/.cache/clangd/index/xlsxworkbook_p.h.04169CA2B969B943.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxworksheet.cpp.12251B9F359491FD.idx b/src/.cache/clangd/index/xlsxworksheet.cpp.12251B9F359491FD.idx deleted file mode 100644 index 8afd8a3..0000000 Binary files a/src/.cache/clangd/index/xlsxworksheet.cpp.12251B9F359491FD.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxworksheet.h.7A7724FE4DFC224A.idx b/src/.cache/clangd/index/xlsxworksheet.h.7A7724FE4DFC224A.idx deleted file mode 100644 index 9726056..0000000 Binary files a/src/.cache/clangd/index/xlsxworksheet.h.7A7724FE4DFC224A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxworksheet_p.h.CAAA890AC96E413A.idx b/src/.cache/clangd/index/xlsxworksheet_p.h.CAAA890AC96E413A.idx deleted file mode 100644 index 155f48f..0000000 Binary files a/src/.cache/clangd/index/xlsxworksheet_p.h.CAAA890AC96E413A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxzipreader.cpp.FEAEC3B14B41599A.idx b/src/.cache/clangd/index/xlsxzipreader.cpp.FEAEC3B14B41599A.idx deleted file mode 100644 index 37a2201..0000000 Binary files a/src/.cache/clangd/index/xlsxzipreader.cpp.FEAEC3B14B41599A.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxzipreader_p.h.7570264D0C8CF488.idx b/src/.cache/clangd/index/xlsxzipreader_p.h.7570264D0C8CF488.idx deleted file mode 100644 index d482469..0000000 Binary files a/src/.cache/clangd/index/xlsxzipreader_p.h.7570264D0C8CF488.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxzipwriter.cpp.C0EA8EE1013177CD.idx b/src/.cache/clangd/index/xlsxzipwriter.cpp.C0EA8EE1013177CD.idx deleted file mode 100644 index fdb6395..0000000 Binary files a/src/.cache/clangd/index/xlsxzipwriter.cpp.C0EA8EE1013177CD.idx and /dev/null differ diff --git a/src/.cache/clangd/index/xlsxzipwriter_p.h.9513B7D9F4D95DE2.idx b/src/.cache/clangd/index/xlsxzipwriter_p.h.9513B7D9F4D95DE2.idx deleted file mode 100644 index 17e8d23..0000000 Binary files a/src/.cache/clangd/index/xlsxzipwriter_p.h.9513B7D9F4D95DE2.idx and /dev/null differ diff --git a/src/data/xlsxhandler.cpp b/src/data/xlsxhandler.cpp index 372c4e0..0d1eb44 100644 --- a/src/data/xlsxhandler.cpp +++ b/src/data/xlsxhandler.cpp @@ -1,745 +1,745 @@ -#include "xlsxhandler.h" -#include "logger.h" -#include "analysisoperationrecorder.h" -#include "global.h" - -namespace AnaOpRecorder = AnalysisOperationRecorder; -using AnaOpRecorderOperation = AnalysisOperationRecorder::AnalysisOperation; - -using AnalysisMode = AnalysisOperationRecorder::AnalysisMode; - - -QString XlsxHandler::_currentFilePath; - -void XlsxHandler::test() { -#if 0 - QString sourceFilePath = QDir::currentPath() + "/sample.xlsx"; - qDebug() << "fileName:" << sourceFilePath; - readFile(sourceFilePath); -#endif - - QString sourceFilePath = QDir::currentPath() + "/sample-save.xlsx"; - writeExperimentFile(sourceFilePath); -} - -int XlsxHandler::readFile(const QString filePath, Global::CurveFileData &cfd) { - if (!QFile::exists(filePath)) { - logde << "xlsx file not existed:" << filePath.toStdString(); - return 1; - } - - QFileInfo fileInfo(filePath); - - // 获取文件的后缀名并转换为小写,方便比较 - QString fileSuffix = fileInfo.suffix().toLower(); - - // 判断后缀名是否为 "xlsx" - if (fileSuffix != "xlsx") { - std::cout << "该文件的后缀不是 xlsx" << std::endl; - return 2; - } - - _currentFilePath = filePath; - - // cfd.fileName = fileInfo.fileName(); - cfd.filePath = filePath; - - QXlsx::Document xlsx(filePath); - - QXlsx::Worksheet *workSheet = xlsx.currentWorksheet(); - if (!workSheet) { - logde << "current sheet is empty."; - return 3; - } - - // - int index = 2; - Global::ExperimentInfo &ei = cfd.ei; -#if 0 - ei.sampleName = workSheet->cellAt(index++, 2)->value().toString(); - ei.sampleWeight = workSheet->cellAt(index++, 2)->value().toString(); - logde << "xlsx sample weight:" << ei.sampleWeight.toStdString(); - - index++; // skip crucible weight. - ei.date = workSheet->cellAt(index++, 2)->value().toString(); - ei.experimentor = workSheet->cellAt(index++, 2)->value().toString(); - index++; // skip measure type. - ei.phaseSize = workSheet->cellAt(index++, 2)->value().toInt(); -#endif - - ei.sampleName = getCellStringValue(workSheet, index++, 2); - ei.sampleWeight = getCellStringValue(workSheet, index++, 2); - logde << "xlsx sample weight:" << ei.sampleWeight.toStdString(); - - index++; // skip crucible weight. - ei.date = getCellStringValue(workSheet, index++, 2); - ei.experimentor = getCellStringValue(workSheet, index++, 2); - index++; // skip measure type. - ei.phaseSize = getCellIntValue(workSheet, index++, 2); - - QVector &phaseTotalVtr = cfd.phaseTotalVtr; - int dataIndex = 9; - for (int i = 0; i < ei.phaseSize; i++) { - Global::PhaseTotalInfo phaseTotal; - phaseTotal.phaseIndex = i + 1; - - readPhaseData(workSheet, dataIndex, phaseTotal); - phaseTotalVtr.push_back(phaseTotal); - } - - readAnalysisOperation(workSheet, dataIndex, cfd); - - return 0; -} - -void XlsxHandler::readPhaseData(QXlsx::Worksheet *workSheet, int &startLineIndex, - Global::PhaseTotalInfo &phaseTotal) { - // skip.# Time/min Temp/℃ Voltage/mW - startLineIndex++; - // skip.第一段 - startLineIndex++; - -// logde<<"startLineIndex:"<cellAt(startLineIndex++, 2)->value().toDouble(); - phaseTotal.phase.temp_flow = workSheet->cellAt(startLineIndex++, 2)->value().toDouble(); - phaseTotal.phase.constant_temp_time_min = (uint16_t)(workSheet->cellAt(startLineIndex++, 2)->value().toInt()); - phaseTotal.phase.gas = static_cast(workSheet->cellAt(startLineIndex++, 2)->value().toInt()); - int dataSize = workSheet->cellAt(startLineIndex++, 2)->value().toInt(); -#endif - - phaseTotal.phase.onoff = 1; - phaseTotal.phase.cutoff_temp = getCellDoubleValue(workSheet, startLineIndex++, 2); - phaseTotal.phase.temp_flow = getCellDoubleValue(workSheet, startLineIndex++, 2); - phaseTotal.phase.constant_temp_time_min = (uint16_t)(getCellIntValue(workSheet, startLineIndex++, 2)); - phaseTotal.phase.gas = static_cast(getCellIntValue(workSheet, startLineIndex++, 2)); - int dataSize = getCellIntValue(workSheet, startLineIndex++, 2); - - // logde<<"data size:"<cellAt(startLineIndex, 2)->value().toDouble(); - data.sampleTemp = workSheet->cellAt(startLineIndex, 3)->value().toDouble(); - data.dsc = workSheet->cellAt(startLineIndex, 4)->value().toDouble(); - data.constantTempTime = workSheet->cellAt(startLineIndex, 5)->value().toDouble(); -#endif - data.runTime = getCellDoubleValue(workSheet, startLineIndex, 2); - data.sampleTemp = getCellDoubleValue(workSheet, startLineIndex, 3); - data.dsc = getCellDoubleValue(workSheet, startLineIndex, 4); - data.constantTempTime = getCellDoubleValue(workSheet, startLineIndex, 5); - - if (data.runTime != 0) { - phaseTotal.dataVtr.push_back(data); - } - - startLineIndex++; - } -} - -void XlsxHandler::writeExperimentFile(const QString filePath) { - logde << "write file..."; - -#if 0 - if(Global::_curveExperimentDataVtr.empty()){ - logde<<"_curveExperimentDataVtr empty..."; - return; - } -#endif - - Global::ExperimentInfo &ei = Global::_experimentInfo; - - QXlsx::Document xlsx; - xlsx.addSheet("Sheet1"); // 添加一个新的工作表 - - // Write experiment info. - int row = 1; - xlsx.write(row++, 1, ConFileDataInfo); - - xlsx.write(row, 1, ConSampleName); - QString sampleName = ei.sampleName; - if (sampleName.isEmpty()) { - sampleName = "sample"; - } - xlsx.write(row, 2, sampleName); - row++; - - xlsx.write(row, 1, ConSampleWeight); - QString sampleWeight = ei.sampleWeight; - if (sampleWeight.isEmpty()) { - sampleWeight = "1"; - } - xlsx.write(row, 2, sampleWeight); - - xlsx.write(row, 3, ConUnitMg); - row++; - - xlsx.write(row, 1, ConCrucibleWeight); - xlsx.write(row, 2, 0); - xlsx.write(row, 3, ConUnitMg); - row++; - - xlsx.write(row, 1, Conexperimenter); - QString experimentor = ei.experimentor; - if (experimentor.isEmpty()) { - experimentor = "experimentor"; - } - xlsx.write(row, 2, experimentor); - row++; - - xlsx.write(row, 1, ConDate); - QString date = ei.date; - if (date.isEmpty()) { - date = "20250101"; - } - xlsx.write(row, 2, date); - row++; - - xlsx.write(row, 1, ConMeasureType); - xlsx.write(row, 2, "样品"); - row++; - - int phaseSizeRow = row; - int phaseCount = 0; - xlsx.write(row, 1, ConPhaseSize); - xlsx.write(row, 2, ei.phaseVtr.size()); - row++; - - // Write phase data. - int dataSizeRow = 0; - logde << "phase vtr size:" << ei.phaseVtr.size(); - for (int i = 0; i < ei.phaseVtr.size(); i++) { - logde << "phase index:" << i; - const Phase &phase = ei.phaseVtr.at(i); - - if (phase.onoff == 0) { - // logde<<"onoff == 0."; - continue; - } - - phaseCount++; - - xlsx.write(row, 1, ConPhaseProfix); - xlsx.write(row, 2, ConPhaseHeaderTime); - xlsx.write(row, 3, ConPhaseHeaderTemp); - xlsx.write(row, 4, ConPhaseHeaderVoltage); - xlsx.write(row, 5, ConPhaseHeaderTime); - row++; - - xlsx.write(row, 1, ConPhaseIndex); - xlsx.write(row, 2, i + 1); - row++; - - // phase info - xlsx.write(row, 1, ConPhaseCutoffTemp); - xlsx.write(row, 2, phase.cutoff_temp); - xlsx.write(row, 3, ConUnitDegreeCentigrade); - row++; - - xlsx.write(row, 1, ConPhaseHeatingRate); - xlsx.write(row, 2, phase.temp_flow); - xlsx.write(row, 3, ConUnitDegreeCentigradePerMin); - row++; - - xlsx.write(row, 1, ConPhaseConstantTempTime); - xlsx.write(row, 2, phase.constant_temp_time_min); - xlsx.write(row, 3, ConUnitMin); - row++; - - xlsx.write(row, 1, ConPhaseAtmosphere); - switch (phase.gas) { - case GasType::NC: - xlsx.write(row, 2, "NC"); - break; - case GasType::N2: - xlsx.write(row, 2, "N2"); - break; - case GasType::O2: - xlsx.write(row, 2, "O2"); - break; - default: - break; - } - row++; - - // phase data. - if (Global::_curveExperimentDataVtr.size() < i + 1) { - continue; - } - - QVector edVtr = - Global::_curveExperimentDataVtr.at(i).dataVtr; - - if (!Global::_curveExperimentDataVtr.at(i).smoothDataVtr.empty()) { - edVtr = Global::_curveExperimentDataVtr.at(i).smoothDataVtr; - } - - - // phase data size. - dataSizeRow = row; - xlsx.write(row, 1, ConPhaseDataSize); - xlsx.write(row, 2, edVtr.size()); - row++; - - // logde<<"edVtr size:"<currentWorksheet(); - if (!sheet) { - logde << "current sheet is empty."; - return; - } - - int index = sheet->dimension().lastRow(); - logde << "lastRow:" << index; - - int row = index + 1; - - writeAnalysisOperationDetail(xlsx, row); - - // save -#if 1 - if (!xlsx->saveAs(filePath)) { - logde << "Save xlsx failed."; - delete xlsx; - return; - } -#endif - - // - delete xlsx; - logde << "Save xlsx succ."; -} - -QXlsx::Document *XlsxHandler::openXlsxFile(const QString &sourceFilePath) { - // 检查文件是否存在 - if (!QFile::exists(sourceFilePath)) { - logde << "xlsx file not existed:" << sourceFilePath.toStdString(); - QXlsx::Document *xlsx = new QXlsx::Document(sourceFilePath); - return xlsx; - } - QFileInfo fileInfo(sourceFilePath); - - // 获取文件的后缀名并转换为小写,方便比较 - QString fileSuffix = fileInfo.suffix().toLower(); - - // 判断后缀名是否为 "xlsx" - if (fileSuffix != "xlsx") { - std::cout << "该文件的后缀不是 xlsx" << std::endl; - return nullptr; - } - - QXlsx::Document *xlsx = new QXlsx::Document(sourceFilePath); - - QXlsx::Worksheet *workSheet = xlsx->currentWorksheet(); - if (!workSheet) { - qDebug() << "current sheet is empty."; - delete xlsx; - return nullptr; - } - - return xlsx; -} - -void XlsxHandler::readAnalysisOperation( - QXlsx::Worksheet *sheet, int &startLineIndex, Global::CurveFileData &cfd) { - QXlsx::Cell *cell = sheet->cellAt(startLineIndex, 2); - if (!cell) { - logde << "Cell does not exist."; - return; - } - - int size = sheet->cellAt(startLineIndex++, 2)->value().toInt(); - - logde << "ana op size:" << size; - - for (int i = 0; i < size; i++) { - AnaOpRecorderOperation ao; - - ao.filePath = cfd.filePath; - - logde << "cfd filePath:" << cfd.filePath.toStdString(); - - QString modeStr = sheet->cellAt(startLineIndex, 1)->value().toString(); - - if (modeStr == AnaOpRecorder::NumericalLabelStr) { - ao.mode = AnalysisMode::NumericalLabel; - } else if (modeStr == AnaOpRecorder::StartPointStr) { - ao.mode = AnalysisMode::StartPoint; - } else if (modeStr == AnaOpRecorder::StopPointStr) { - ao.mode = AnalysisMode::StopPoint; - } else if (modeStr == AnaOpRecorder::PeakSynthesisAnalysisStr) { - ao.mode = AnalysisMode::PeakSynthesisAnalysis; - } else if (modeStr == AnaOpRecorder::GlassTransitionStr) { - ao.mode = AnalysisMode::GlassTransition; - } else if (modeStr == AnaOpRecorder::OnsetTemperaturePointStr) { - ao.mode = AnalysisMode::OnsetTemperaturePoint; - } else if (modeStr == AnaOpRecorder::EndsetTemperaturePointStr) { - ao.mode = AnalysisMode::EndsetTemperaturePoint; - } else if (modeStr == AnaOpRecorder::OITStr) { - ao.mode = AnalysisMode::OIT; - } - - ao.x1 = sheet->cellAt(startLineIndex, 2)->value().toDouble(); - ao.x2 = sheet->cellAt(startLineIndex, 3)->value().toDouble(); - - cfd.analysisOperationVtr.push_back(ao); - - startLineIndex++; - - logde << " ao mode:" << modeStr.toStdString(); - logde << "x1:" << ao.x1 << ",x2:" << ao.x2; - } -} - -void XlsxHandler::writeAnalysisOperationDetail(QXlsx::Document *xlsx, const int row) { - int localRow = row; - Q_UNUSED(row) - - QVector &aoVtr = - AnalysisOperationRecorder::_analysisOperationVtr; - - if (aoVtr.empty()) { - return; - } - - xlsx->write(localRow, 1, ConAnalysisOperationCount); - xlsx->write(localRow, 2, aoVtr.size()); - localRow++; - - for (AnaOpRecorderOperation &ao : aoVtr) { - QString analysisOpName; - - switch (ao.mode) { - case AnalysisMode::NumericalLabel: { - analysisOpName = AnalysisOperationRecorder::NumericalLabelStr; - break; - } - case AnalysisMode::StartPoint: { - analysisOpName = AnalysisOperationRecorder::StartPointStr; - break; - } - case AnalysisMode::StopPoint: { - analysisOpName = AnalysisOperationRecorder::StopPointStr; - break; - } - case AnalysisMode::PeakSynthesisAnalysis: { - analysisOpName = AnalysisOperationRecorder::PeakSynthesisAnalysisStr; - break; - } - case AnalysisMode::GlassTransition: { - analysisOpName = AnalysisOperationRecorder::GlassTransitionStr; - break; - } - case AnalysisMode::OnsetTemperaturePoint: { - analysisOpName = AnalysisOperationRecorder::OnsetTemperaturePointStr; - break; - } - case AnalysisMode::EndsetTemperaturePoint: { - analysisOpName = AnalysisOperationRecorder::EndsetTemperaturePointStr; - break; - } - case AnalysisMode::OIT: { - analysisOpName = AnalysisOperationRecorder::OITStr; - break; - } - default: - break; - } - - xlsx->write(localRow, 1, analysisOpName); - xlsx->write(localRow, 2, ao.x1); - xlsx->write(localRow, 3, ao.x2); - localRow++; - } -} - -void XlsxHandler::writeSmoothnessFile(const QString filePath) { - if (Global::_curveFileDataVtr.empty()) { - logde << "curve file data vtr empty..."; - return; - } - - Global::ExperimentInfo &ei = Global::_curveFileDataVtr.first().ei; - - QXlsx::Document xlsx; - xlsx.addSheet("Sheet1"); // 添加一个新的工作表 - - // Write experiment info. - int row = 1; - xlsx.write(row++, 1, ConFileDataInfo); - - xlsx.write(row, 1, ConSampleName); - QString sampleName = ei.sampleName; - if (sampleName.isEmpty()) { - sampleName = "sample"; - } - xlsx.write(row, 2, sampleName); - row++; - - xlsx.write(row, 1, ConSampleWeight); - QString sampleWeight = ei.sampleWeight; - if (sampleWeight.isEmpty()) { - sampleWeight = "1"; - } - xlsx.write(row, 2, sampleWeight); - - xlsx.write(row, 3, ConUnitMg); - row++; - - xlsx.write(row, 1, ConCrucibleWeight); - xlsx.write(row, 2, 0); - xlsx.write(row, 3, ConUnitMg); - row++; - - xlsx.write(row, 1, Conexperimenter); - QString experimentor = ei.experimentor; - if (experimentor.isEmpty()) { - experimentor = "experimentor"; - } - xlsx.write(row, 2, experimentor); - row++; - - xlsx.write(row, 1, ConDate); - QString date = ei.date; - if (date.isEmpty()) { - date = "20250101"; - } - xlsx.write(row, 2, date); - row++; - - xlsx.write(row, 1, ConMeasureType); - xlsx.write(row, 2, "样品"); - row++; - - int phaseSizeRow = row; - int phaseCount = 0; - xlsx.write(row, 1, ConPhaseSize); - xlsx.write(row, 2, ei.phaseVtr.size()); - row++; - - // Write phase data. - - logde << "curve file vtr size:" << Global::_curveFileDataVtr.size(); - QVector &phaseVtr = - Global::_curveFileDataVtr.first().phaseTotalVtr; - - int dataSizeRow = 0; - // logde<<"phase vtr size:"< edVtr = - phaseVtr.at(i).dataVtr; - if (!phaseVtr.at(i).smoothDataVtr.empty()) { - edVtr = phaseVtr.at(i).smoothDataVtr; - } - - // phase data size. - dataSizeRow = row; - xlsx.write(row, 1, ConPhaseDataSize); - xlsx.write(row, 2, edVtr.size()); - row++; - - // logde<<"edVtr size:"< &phaseVtr = - Global::_curveFileDataVtr.first().phaseTotalVtr; - - writeSmoothnessFile(filePath); - -#if 0 - if(phaseVtr.first().smoothDataVtr.empty()){ - logde<<"xlsx file data smooth vtr is empty."; - xlsxFileAppendAnalysisOperation(filePath); - }else{ - logde<<"xlsx file data smooth vtr is not empty."; - writeSmoothnessFile(filePath); - } -#endif -} - -int XlsxHandler::deleteInvalidRow(QXlsx::Document *doc) { - QXlsx::Worksheet *sheet = doc->currentWorksheet(); - if (!sheet) { - logde << "current sheet is empty."; - return 0; - } - - int lastRow = doc->dimension().lastRow(); - logde << "lastRow:" << lastRow; - - int startRow = lastRow - 19; // 倒数第20行 - - for (int row = lastRow; row >= startRow; --row) { - QString cellValue = sheet->read(row, 0).toString(); - if (cellValue.isEmpty() - || cellValue == ConAnalysisOperationCount - || cellValue == AnaOpRecorder::NumericalLabelStr - || cellValue == AnaOpRecorder::StartPointStr - || cellValue == AnaOpRecorder::StopPointStr - || cellValue == AnaOpRecorder::PeakSynthesisAnalysisStr - || cellValue == AnaOpRecorder::GlassTransitionStr - || cellValue == AnaOpRecorder::OnsetTemperaturePointStr - || cellValue == AnaOpRecorder::EndsetTemperaturePointStr) { - qDebug() << "Row" << row << "is empty or contains specified string. Deleting row."; - // sheet->deleteRows(row, 1); // 删除当前行 - // sheet->deleteRow(row); - } - } -} -double XlsxHandler::getCellDoubleValue(QXlsx::Worksheet *workSheet, int row, int col, double defaultValue) { - auto cell = workSheet->cellAt(row, col); - if (cell && !cell->value().isNull()) { - return cell->value().toDouble(); - } else { - return defaultValue; - } -} - -QString XlsxHandler::getCellStringValue(QXlsx::Worksheet *workSheet, int row, int col, const QString &defaultValue ) { - auto cell = workSheet->cellAt(row, col); - if (cell && !cell->value().isNull()) { - return cell->value().toString(); - } else { - return defaultValue; - } -} - -int XlsxHandler::getCellIntValue(QXlsx::Worksheet *workSheet, int row, int col, int defaultValue) { - auto cell = workSheet->cellAt(row, col); - if (cell && !cell->value().isNull()) { - return cell->value().toInt(); - } else { - return defaultValue; - } -} +#include "xlsxhandler.h" +#include "logger.h" +#include "analysisoperationrecorder.h" +#include "global.h" + +namespace AnaOpRecorder = AnalysisOperationRecorder; +using AnaOpRecorderOperation = AnalysisOperationRecorder::AnalysisOperation; + +using AnalysisMode = AnalysisOperationRecorder::AnalysisMode; + + +QString XlsxHandler::_currentFilePath; + +void XlsxHandler::test() { +#if 0 + QString sourceFilePath = QDir::currentPath() + "/sample.xlsx"; + qDebug() << "fileName:" << sourceFilePath; + readFile(sourceFilePath); +#endif + + QString sourceFilePath = QDir::currentPath() + "/sample-save.xlsx"; + writeExperimentFile(sourceFilePath); +} + +int XlsxHandler::readFile(const QString filePath, Global::CurveFileData &cfd) { + if (!QFile::exists(filePath)) { + logde << "xlsx file not existed:" << filePath.toStdString(); + return 1; + } + + QFileInfo fileInfo(filePath); + + // 获取文件的后缀名并转换为小写,方便比较 + QString fileSuffix = fileInfo.suffix().toLower(); + + // 判断后缀名是否为 "xlsx" + if (fileSuffix != "xlsx") { + std::cout << "该文件的后缀不是 xlsx" << std::endl; + return 2; + } + + _currentFilePath = filePath; + + // cfd.fileName = fileInfo.fileName(); + cfd.filePath = filePath; + + QXlsx::Document xlsx(filePath); + + QXlsx::Worksheet *workSheet = xlsx.currentWorksheet(); + if (!workSheet) { + logde << "current sheet is empty."; + return 3; + } + + // + int index = 2; + Global::ExperimentInfo &ei = cfd.ei; +#if 0 + ei.sampleName = workSheet->cellAt(index++, 2)->value().toString(); + ei.sampleWeight = workSheet->cellAt(index++, 2)->value().toString(); + logde << "xlsx sample weight:" << ei.sampleWeight.toStdString(); + + index++; // skip crucible weight. + ei.date = workSheet->cellAt(index++, 2)->value().toString(); + ei.experimentor = workSheet->cellAt(index++, 2)->value().toString(); + index++; // skip measure type. + ei.phaseSize = workSheet->cellAt(index++, 2)->value().toInt(); +#endif + + ei.sampleName = getCellStringValue(workSheet, index++, 2); + ei.sampleWeight = getCellStringValue(workSheet, index++, 2); + logde << "xlsx sample weight:" << ei.sampleWeight.toStdString(); + + index++; // skip crucible weight. + ei.date = getCellStringValue(workSheet, index++, 2); + ei.experimentor = getCellStringValue(workSheet, index++, 2); + index++; // skip measure type. + ei.phaseSize = getCellIntValue(workSheet, index++, 2); + + QVector &phaseTotalVtr = cfd.phaseTotalVtr; + int dataIndex = 9; + for (int i = 0; i < ei.phaseSize; i++) { + Global::PhaseTotalInfo phaseTotal; + phaseTotal.phaseIndex = i + 1; + + readPhaseData(workSheet, dataIndex, phaseTotal); + phaseTotalVtr.push_back(phaseTotal); + } + + readAnalysisOperation(workSheet, dataIndex, cfd); + + return 0; +} + +void XlsxHandler::readPhaseData(QXlsx::Worksheet *workSheet, int &startLineIndex, + Global::PhaseTotalInfo &phaseTotal) { + // skip.# Time/min Temp/℃ Voltage/mW + startLineIndex++; + // skip.第一段 + startLineIndex++; + +// logde<<"startLineIndex:"<cellAt(startLineIndex++, 2)->value().toDouble(); + phaseTotal.phase.temp_flow = workSheet->cellAt(startLineIndex++, 2)->value().toDouble(); + phaseTotal.phase.constant_temp_time_min = (uint16_t)(workSheet->cellAt(startLineIndex++, 2)->value().toInt()); + phaseTotal.phase.gas = static_cast(workSheet->cellAt(startLineIndex++, 2)->value().toInt()); + int dataSize = workSheet->cellAt(startLineIndex++, 2)->value().toInt(); +#endif + + phaseTotal.phase.onoff = 1; + phaseTotal.phase.cutoff_temp = getCellDoubleValue(workSheet, startLineIndex++, 2); + phaseTotal.phase.temp_flow = getCellDoubleValue(workSheet, startLineIndex++, 2); + phaseTotal.phase.constant_temp_time_min = (uint16_t)(getCellIntValue(workSheet, startLineIndex++, 2)); + phaseTotal.phase.gas = static_cast(getCellIntValue(workSheet, startLineIndex++, 2)); + int dataSize = getCellIntValue(workSheet, startLineIndex++, 2); + + // logde<<"data size:"<cellAt(startLineIndex, 2)->value().toDouble(); + data.sampleTemp = workSheet->cellAt(startLineIndex, 3)->value().toDouble(); + data.dsc = workSheet->cellAt(startLineIndex, 4)->value().toDouble(); + data.constantTempTime = workSheet->cellAt(startLineIndex, 5)->value().toDouble(); +#endif + data.runTime = getCellDoubleValue(workSheet, startLineIndex, 2); + data.sampleTemp = getCellDoubleValue(workSheet, startLineIndex, 3); + data.dsc = getCellDoubleValue(workSheet, startLineIndex, 4); + data.constantTempTime = getCellDoubleValue(workSheet, startLineIndex, 5); + + if (data.runTime != 0) { + phaseTotal.dataVtr.push_back(data); + } + + startLineIndex++; + } +} + +void XlsxHandler::writeExperimentFile(const QString filePath) { + logde << "write file..."; + +#if 0 + if(Global::_curveExperimentDataVtr.empty()){ + logde<<"_curveExperimentDataVtr empty..."; + return; + } +#endif + + Global::ExperimentInfo &ei = Global::_experimentInfo; + + QXlsx::Document xlsx; + xlsx.addSheet("Sheet1"); // 添加一个新的工作表 + + // Write experiment info. + int row = 1; + xlsx.write(row++, 1, ConFileDataInfo); + + xlsx.write(row, 1, ConSampleName); + QString sampleName = ei.sampleName; + if (sampleName.isEmpty()) { + sampleName = "sample"; + } + xlsx.write(row, 2, sampleName); + row++; + + xlsx.write(row, 1, ConSampleWeight); + QString sampleWeight = ei.sampleWeight; + if (sampleWeight.isEmpty()) { + sampleWeight = "1"; + } + xlsx.write(row, 2, sampleWeight); + + xlsx.write(row, 3, ConUnitMg); + row++; + + xlsx.write(row, 1, ConCrucibleWeight); + xlsx.write(row, 2, 0); + xlsx.write(row, 3, ConUnitMg); + row++; + + xlsx.write(row, 1, Conexperimenter); + QString experimentor = ei.experimentor; + if (experimentor.isEmpty()) { + experimentor = "experimentor"; + } + xlsx.write(row, 2, experimentor); + row++; + + xlsx.write(row, 1, ConDate); + QString date = ei.date; + if (date.isEmpty()) { + date = "20250101"; + } + xlsx.write(row, 2, date); + row++; + + xlsx.write(row, 1, ConMeasureType); + xlsx.write(row, 2, "样品"); + row++; + + int phaseSizeRow = row; + int phaseCount = 0; + xlsx.write(row, 1, ConPhaseSize); + xlsx.write(row, 2, ei.phaseVtr.size()); + row++; + + // Write phase data. + int dataSizeRow = 0; + logde << "phase vtr size:" << ei.phaseVtr.size(); + for (int i = 0; i < ei.phaseVtr.size(); i++) { + logde << "phase index:" << i; + const Phase &phase = ei.phaseVtr.at(i); + + if (phase.onoff == 0) { + // logde<<"onoff == 0."; + continue; + } + + phaseCount++; + + xlsx.write(row, 1, ConPhaseProfix); + xlsx.write(row, 2, ConPhaseHeaderTime); + xlsx.write(row, 3, ConPhaseHeaderTemp); + xlsx.write(row, 4, ConPhaseHeaderVoltage); + xlsx.write(row, 5, ConPhaseHeaderTime); + row++; + + xlsx.write(row, 1, ConPhaseIndex); + xlsx.write(row, 2, i + 1); + row++; + + // phase info + xlsx.write(row, 1, ConPhaseCutoffTemp); + xlsx.write(row, 2, phase.cutoff_temp); + xlsx.write(row, 3, ConUnitDegreeCentigrade); + row++; + + xlsx.write(row, 1, ConPhaseHeatingRate); + xlsx.write(row, 2, phase.temp_flow); + xlsx.write(row, 3, ConUnitDegreeCentigradePerMin); + row++; + + xlsx.write(row, 1, ConPhaseConstantTempTime); + xlsx.write(row, 2, phase.constant_temp_time_min); + xlsx.write(row, 3, ConUnitMin); + row++; + + xlsx.write(row, 1, ConPhaseAtmosphere); + switch (phase.gas) { + case GasType::NC: + xlsx.write(row, 2, "NC"); + break; + case GasType::N2: + xlsx.write(row, 2, "N2"); + break; + case GasType::O2: + xlsx.write(row, 2, "O2"); + break; + default: + break; + } + row++; + + // phase data. + if (Global::_curveExperimentDataVtr.size() < i + 1) { + continue; + } + + QVector edVtr = + Global::_curveExperimentDataVtr.at(i).dataVtr; + + if (!Global::_curveExperimentDataVtr.at(i).smoothDataVtr.empty()) { + edVtr = Global::_curveExperimentDataVtr.at(i).smoothDataVtr; + } + + + // phase data size. + dataSizeRow = row; + xlsx.write(row, 1, ConPhaseDataSize); + xlsx.write(row, 2, edVtr.size()); + row++; + + // logde<<"edVtr size:"<currentWorksheet(); + if (!sheet) { + logde << "current sheet is empty."; + return; + } + + int index = sheet->dimension().lastRow(); + logde << "lastRow:" << index; + + int row = index + 1; + + writeAnalysisOperationDetail(xlsx, row); + + // save +#if 1 + if (!xlsx->saveAs(filePath)) { + logde << "Save xlsx failed."; + delete xlsx; + return; + } +#endif + + // + delete xlsx; + logde << "Save xlsx succ."; +} + +QXlsx::Document *XlsxHandler::openXlsxFile(const QString &sourceFilePath) { + // 检查文件是否存在 + if (!QFile::exists(sourceFilePath)) { + logde << "xlsx file not existed:" << sourceFilePath.toStdString(); + QXlsx::Document *xlsx = new QXlsx::Document(sourceFilePath); + return xlsx; + } + QFileInfo fileInfo(sourceFilePath); + + // 获取文件的后缀名并转换为小写,方便比较 + QString fileSuffix = fileInfo.suffix().toLower(); + + // 判断后缀名是否为 "xlsx" + if (fileSuffix != "xlsx") { + std::cout << "该文件的后缀不是 xlsx" << std::endl; + return nullptr; + } + + QXlsx::Document *xlsx = new QXlsx::Document(sourceFilePath); + + QXlsx::Worksheet *workSheet = xlsx->currentWorksheet(); + if (!workSheet) { + qDebug() << "current sheet is empty."; + delete xlsx; + return nullptr; + } + + return xlsx; +} + +void XlsxHandler::readAnalysisOperation( + QXlsx::Worksheet *sheet, int &startLineIndex, Global::CurveFileData &cfd) { + QXlsx::Cell *cell = sheet->cellAt(startLineIndex, 2); + if (!cell) { + logde << "Cell does not exist."; + return; + } + + int size = sheet->cellAt(startLineIndex++, 2)->value().toInt(); + + logde << "ana op size:" << size; + + for (int i = 0; i < size; i++) { + AnaOpRecorderOperation ao; + + ao.filePath = cfd.filePath; + + logde << "cfd filePath:" << cfd.filePath.toStdString(); + + QString modeStr = sheet->cellAt(startLineIndex, 1)->value().toString(); + + if (modeStr == AnaOpRecorder::NumericalLabelStr) { + ao.mode = AnalysisMode::NumericalLabel; + } else if (modeStr == AnaOpRecorder::StartPointStr) { + ao.mode = AnalysisMode::StartPoint; + } else if (modeStr == AnaOpRecorder::StopPointStr) { + ao.mode = AnalysisMode::StopPoint; + } else if (modeStr == AnaOpRecorder::PeakSynthesisAnalysisStr) { + ao.mode = AnalysisMode::PeakSynthesisAnalysis; + } else if (modeStr == AnaOpRecorder::GlassTransitionStr) { + ao.mode = AnalysisMode::GlassTransition; + } else if (modeStr == AnaOpRecorder::OnsetTemperaturePointStr) { + ao.mode = AnalysisMode::OnsetTemperaturePoint; + } else if (modeStr == AnaOpRecorder::EndsetTemperaturePointStr) { + ao.mode = AnalysisMode::EndsetTemperaturePoint; + } else if (modeStr == AnaOpRecorder::OITStr) { + ao.mode = AnalysisMode::OIT; + } + + ao.x1 = sheet->cellAt(startLineIndex, 2)->value().toDouble(); + ao.x2 = sheet->cellAt(startLineIndex, 3)->value().toDouble(); + + cfd.analysisOperationVtr.push_back(ao); + + startLineIndex++; + + logde << " ao mode:" << modeStr.toStdString(); + logde << "x1:" << ao.x1 << ",x2:" << ao.x2; + } +} + +void XlsxHandler::writeAnalysisOperationDetail(QXlsx::Document *xlsx, const int row) { + int localRow = row; + Q_UNUSED(row) + + QVector &aoVtr = + AnalysisOperationRecorder::_analysisOperationVtr; + + if (aoVtr.empty()) { + return; + } + + xlsx->write(localRow, 1, ConAnalysisOperationCount); + xlsx->write(localRow, 2, aoVtr.size()); + localRow++; + + for (AnaOpRecorderOperation &ao : aoVtr) { + QString analysisOpName; + + switch (ao.mode) { + case AnalysisMode::NumericalLabel: { + analysisOpName = AnalysisOperationRecorder::NumericalLabelStr; + break; + } + case AnalysisMode::StartPoint: { + analysisOpName = AnalysisOperationRecorder::StartPointStr; + break; + } + case AnalysisMode::StopPoint: { + analysisOpName = AnalysisOperationRecorder::StopPointStr; + break; + } + case AnalysisMode::PeakSynthesisAnalysis: { + analysisOpName = AnalysisOperationRecorder::PeakSynthesisAnalysisStr; + break; + } + case AnalysisMode::GlassTransition: { + analysisOpName = AnalysisOperationRecorder::GlassTransitionStr; + break; + } + case AnalysisMode::OnsetTemperaturePoint: { + analysisOpName = AnalysisOperationRecorder::OnsetTemperaturePointStr; + break; + } + case AnalysisMode::EndsetTemperaturePoint: { + analysisOpName = AnalysisOperationRecorder::EndsetTemperaturePointStr; + break; + } + case AnalysisMode::OIT: { + analysisOpName = AnalysisOperationRecorder::OITStr; + break; + } + default: + break; + } + + xlsx->write(localRow, 1, analysisOpName); + xlsx->write(localRow, 2, ao.x1); + xlsx->write(localRow, 3, ao.x2); + localRow++; + } +} + +void XlsxHandler::writeSmoothnessFile(const QString filePath) { + if (Global::_curveFileDataVtr.empty()) { + logde << "curve file data vtr empty..."; + return; + } + + Global::ExperimentInfo &ei = Global::_curveFileDataVtr.first().ei; + + QXlsx::Document xlsx; + xlsx.addSheet("Sheet1"); // 添加一个新的工作表 + + // Write experiment info. + int row = 1; + xlsx.write(row++, 1, ConFileDataInfo); + + xlsx.write(row, 1, ConSampleName); + QString sampleName = ei.sampleName; + if (sampleName.isEmpty()) { + sampleName = "sample"; + } + xlsx.write(row, 2, sampleName); + row++; + + xlsx.write(row, 1, ConSampleWeight); + QString sampleWeight = ei.sampleWeight; + if (sampleWeight.isEmpty()) { + sampleWeight = "1"; + } + xlsx.write(row, 2, sampleWeight); + + xlsx.write(row, 3, ConUnitMg); + row++; + + xlsx.write(row, 1, ConCrucibleWeight); + xlsx.write(row, 2, 0); + xlsx.write(row, 3, ConUnitMg); + row++; + + xlsx.write(row, 1, Conexperimenter); + QString experimentor = ei.experimentor; + if (experimentor.isEmpty()) { + experimentor = "experimentor"; + } + xlsx.write(row, 2, experimentor); + row++; + + xlsx.write(row, 1, ConDate); + QString date = ei.date; + if (date.isEmpty()) { + date = "20250101"; + } + xlsx.write(row, 2, date); + row++; + + xlsx.write(row, 1, ConMeasureType); + xlsx.write(row, 2, "样品"); + row++; + + int phaseSizeRow = row; + int phaseCount = 0; + xlsx.write(row, 1, ConPhaseSize); + xlsx.write(row, 2, ei.phaseVtr.size()); + row++; + + // Write phase data. + + logde << "curve file vtr size:" << Global::_curveFileDataVtr.size(); + QVector &phaseVtr = + Global::_curveFileDataVtr.first().phaseTotalVtr; + + int dataSizeRow = 0; + // logde<<"phase vtr size:"< edVtr = + phaseVtr.at(i).dataVtr; + if (!phaseVtr.at(i).smoothDataVtr.empty()) { + edVtr = phaseVtr.at(i).smoothDataVtr; + } + + // phase data size. + dataSizeRow = row; + xlsx.write(row, 1, ConPhaseDataSize); + xlsx.write(row, 2, edVtr.size()); + row++; + + // logde<<"edVtr size:"< &phaseVtr = + Global::_curveFileDataVtr.first().phaseTotalVtr; + + writeSmoothnessFile(filePath); + +#if 0 + if(phaseVtr.first().smoothDataVtr.empty()){ + logde<<"xlsx file data smooth vtr is empty."; + xlsxFileAppendAnalysisOperation(filePath); + }else{ + logde<<"xlsx file data smooth vtr is not empty."; + writeSmoothnessFile(filePath); + } +#endif +} + +int XlsxHandler::deleteInvalidRow(QXlsx::Document *doc) { + QXlsx::Worksheet *sheet = doc->currentWorksheet(); + if (!sheet) { + logde << "current sheet is empty."; + return 0; + } + + int lastRow = doc->dimension().lastRow(); + logde << "lastRow:" << lastRow; + + int startRow = lastRow - 19; // 倒数第20行 + + for (int row = lastRow; row >= startRow; --row) { + QString cellValue = sheet->read(row, 0).toString(); + if (cellValue.isEmpty() + || cellValue == ConAnalysisOperationCount + || cellValue == AnaOpRecorder::NumericalLabelStr + || cellValue == AnaOpRecorder::StartPointStr + || cellValue == AnaOpRecorder::StopPointStr + || cellValue == AnaOpRecorder::PeakSynthesisAnalysisStr + || cellValue == AnaOpRecorder::GlassTransitionStr + || cellValue == AnaOpRecorder::OnsetTemperaturePointStr + || cellValue == AnaOpRecorder::EndsetTemperaturePointStr) { + qDebug() << "Row" << row << "is empty or contains specified string. Deleting row."; + // sheet->deleteRows(row, 1); // 删除当前行 + // sheet->deleteRow(row); + } + } +} +double XlsxHandler::getCellDoubleValue(QXlsx::Worksheet *workSheet, int row, int col, double defaultValue) { + auto cell = workSheet->cellAt(row, col); + if (cell && !cell->value().isNull()) { + return cell->value().toDouble(); + } else { + return defaultValue; + } +} + +QString XlsxHandler::getCellStringValue(QXlsx::Worksheet *workSheet, int row, int col, const QString &defaultValue ) { + auto cell = workSheet->cellAt(row, col); + if (cell && !cell->value().isNull()) { + return cell->value().toString(); + } else { + return defaultValue; + } +} + +int XlsxHandler::getCellIntValue(QXlsx::Worksheet *workSheet, int row, int col, int defaultValue) { + auto cell = workSheet->cellAt(row, col); + if (cell && !cell->value().isNull()) { + return cell->value().toInt(); + } else { + return defaultValue; + } +} diff --git a/src/data/xlsxhandler.h b/src/data/xlsxhandler.h index d66e854..fc3ad02 100644 --- a/src/data/xlsxhandler.h +++ b/src/data/xlsxhandler.h @@ -1,74 +1,74 @@ -#ifndef XLSXHANDLER_H -#define XLSXHANDLER_H - -#include - -#include "xlsxdocument.h" -#include "protocol.h" -#include "global.h" - -namespace XlsxHandler { - void test(); - /** - * @brief readFile - * @param filePath - * @return - * 0:Succ; - * 1:File not existed; - * 2:File not xlsx; - * 3:Sheet is empty. - */ - QXlsx::Document* openXlsxFile(const QString& sourceFilePath); - // read. - int readFile(const QString filePath,Global::CurveFileData&); - void readPhaseData(QXlsx::Worksheet*,int& startLineIndex,Global::PhaseTotalInfo&); - void readAnalysisOperation(QXlsx::Worksheet*,int& startLineIndex,Global::CurveFileData&); - - double getCellDoubleValue(QXlsx::Worksheet* workSheet, int row, int col, double defaultValue = 0.0); - int getCellIntValue(QXlsx::Worksheet* workSheet, int row, int col, int defaultValue = 0); - QString getCellStringValue(QXlsx::Worksheet* workSheet, int row, int col, const QString& defaultValue = ""); - - // write. - void writeExperimentFile(const QString filePath); - - void writeXlsxFile(const QString filePath); - void writeSmoothnessFile(const QString filePath); - void xlsxFileAppendAnalysisOperation(const QString filePath); - - void writeAnalysisOperationDetail(QXlsx::Document*doc,const int row); - - // discard - int deleteInvalidRow(QXlsx::Document*doc); - - extern QString _currentFilePath; - - const QString ConUnitMg = "mg"; - const QString ConUnitDegreeCentigrade = "℃"; - const QString ConUnitDegreeCentigradePerMin = "℃/min"; - const QString ConUnitMin = "min"; - - const QString ConFileDataInfo = "文件数据信息"; - const QString ConSampleName = "样品名称:"; - const QString ConSampleWeight = "样品质量:"; - const QString ConCrucibleWeight = "坩埚质量:"; - const QString Conexperimenter = "实验人员:"; - const QString ConDate = "实验日期:"; - const QString ConMeasureType = "测量类型:"; - const QString ConPhaseSize = "阶段数量:"; - - const QString ConPhaseProfix = "#"; - const QString ConPhaseHeaderTime = "Time/min"; - const QString ConPhaseHeaderTemp = "Temp/℃"; - const QString ConPhaseHeaderVoltage = "Voltage/mW"; - - const QString ConPhaseIndex = "阶段索引:"; - const QString ConPhaseCutoffTemp = "截止温度:"; - const QString ConPhaseHeatingRate = "升温速率:"; - const QString ConPhaseConstantTempTime = "恒温时间:"; - const QString ConPhaseAtmosphere = "气氛:"; - const QString ConPhaseDataSize = "数据个数:"; - - const QString ConAnalysisOperationCount = "AnalysisOperationCount"; -} - -#endif // XLSX_H +#ifndef XLSXHANDLER_H +#define XLSXHANDLER_H + +#include + +#include "xlsxdocument.h" +#include "protocol.h" +#include "global.h" + +namespace XlsxHandler { + void test(); + /** + * @brief readFile + * @param filePath + * @return + * 0:Succ; + * 1:File not existed; + * 2:File not xlsx; + * 3:Sheet is empty. + */ + QXlsx::Document* openXlsxFile(const QString& sourceFilePath); + // read. + int readFile(const QString filePath,Global::CurveFileData&); + void readPhaseData(QXlsx::Worksheet*,int& startLineIndex,Global::PhaseTotalInfo&); + void readAnalysisOperation(QXlsx::Worksheet*,int& startLineIndex,Global::CurveFileData&); + + double getCellDoubleValue(QXlsx::Worksheet* workSheet, int row, int col, double defaultValue = 0.0); + int getCellIntValue(QXlsx::Worksheet* workSheet, int row, int col, int defaultValue = 0); + QString getCellStringValue(QXlsx::Worksheet* workSheet, int row, int col, const QString& defaultValue = ""); + + // write. + void writeExperimentFile(const QString filePath); + + void writeXlsxFile(const QString filePath); + void writeSmoothnessFile(const QString filePath); + void xlsxFileAppendAnalysisOperation(const QString filePath); + + void writeAnalysisOperationDetail(QXlsx::Document*doc,const int row); + + // discard + int deleteInvalidRow(QXlsx::Document*doc); + + extern QString _currentFilePath; + + const QString ConUnitMg = "mg"; + const QString ConUnitDegreeCentigrade = "℃"; + const QString ConUnitDegreeCentigradePerMin = "℃/min"; + const QString ConUnitMin = "min"; + + const QString ConFileDataInfo = "文件数据信息"; + const QString ConSampleName = "样品名称:"; + const QString ConSampleWeight = "样品质量:"; + const QString ConCrucibleWeight = "坩埚质量:"; + const QString Conexperimenter = "实验人员:"; + const QString ConDate = "实验日期:"; + const QString ConMeasureType = "测量类型:"; + const QString ConPhaseSize = "阶段数量:"; + + const QString ConPhaseProfix = "#"; + const QString ConPhaseHeaderTime = "Time/min"; + const QString ConPhaseHeaderTemp = "Temp/℃"; + const QString ConPhaseHeaderVoltage = "Voltage/mW"; + + const QString ConPhaseIndex = "阶段索引:"; + const QString ConPhaseCutoffTemp = "截止温度:"; + const QString ConPhaseHeatingRate = "升温速率:"; + const QString ConPhaseConstantTempTime = "恒温时间:"; + const QString ConPhaseAtmosphere = "气氛:"; + const QString ConPhaseDataSize = "数据个数:"; + + const QString ConAnalysisOperationCount = "AnalysisOperationCount"; +} + +#endif // XLSX_H