From 4982dd1bc0251afca365b3a1a7ceebbe8496c7a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B3=E4=BD=A9=E5=BA=AD?= Date: Thu, 7 Aug 2025 15:39:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E5=82=B3=E6=AA=94=E6=A1=88=E5=88=B0?= =?UTF-8?q?=E3=80=8C/=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 48 ++++++++++++++ GA25072023.xls | Bin 0 -> 45568 bytes GA25072023_final_rounded.xlsx | Bin 0 -> 8347 bytes index.html | 118 +++++++++++++++++++++++++++++++++ transform_data.cpython-312.pyc | Bin 0 -> 7559 bytes 5 files changed, 166 insertions(+) create mode 100644 .gitignore create mode 100644 GA25072023.xls create mode 100644 GA25072023_final_rounded.xlsx create mode 100644 index.html create mode 100644 transform_data.cpython-312.pyc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ac102f1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,48 @@ +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# Virtual Environment +venv/ +env/ +ENV/ + +# IDE +.vscode/ +.idea/ +*.swp +*.swo + +# OS +.DS_Store +Thumbs.db + +# Application specific +uploads/* +!uploads/.gitkeep + +# Logs +*.log + +# Database +*.db +*.sqlite3 \ No newline at end of file diff --git a/GA25072023.xls b/GA25072023.xls new file mode 100644 index 0000000000000000000000000000000000000000..24981221412b314e8d9b8c2114ac2c72997ecbea GIT binary patch literal 45568 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 K-HZ6z3TN| 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..2518939 --- /dev/null +++ b/index.html @@ -0,0 +1,118 @@ + + + + + + Excel 檔案處理引擎 + + + + +
+

Safe launch 報告轉換

+

上傳SPC的Raw data (.xls/.xlsx),系統將自動化執行數據轉換與統計。

+
+
+ + +
+ +
+ {% with messages = get_flashed_messages() %} + {% if messages %} + + {% endif %} + {% endwith %} +
+ + + + + diff --git a/transform_data.cpython-312.pyc b/transform_data.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9595f24156a00b7a39dd67abdf7e62ed7f404272 GIT binary patch literal 7559 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