[M1 Mac, Big Sur 11.6.5, Python 3.10.4]
Excelファイルを扱うFLTKアプリの作成に着手しました。GUIはよく使うガワの使い回しです。
まずは前々回から取り組んでいるExcelファイルから列データを取り出してリストにする機能を実装しました。A列の値とセル色をリストにします。色データはRGB16進数の頭にFFが付きます。このFFはいらないのでそのうち除去するようにします。
列数や取り出すデータの種類はいずれ選択できるようにしたいです。
#define PY_SSIZE_T_CLEAN
#include "process.h"
#include </Library/Frameworks/Python.framework/Versions/3.10/include/python3.10/Python.h>
#include <iostream>
#include <string.h>
using std::string;
int XlsxToList(const char* path) {
Py_Initialize();
PyRun_SimpleString("import openpyxl");
string path_str = string(path);
string wb_str = "wb = openpyxl.load_workbook('" + path_str +"')";
PyRun_SimpleString(wb_str.c_str());
PyRun_SimpleString("ws = wb.worksheets[0]");
PyRun_SimpleString("color_name = []");
PyRun_SimpleString("color_code = []");
string for_str = "for cell in ws['A']: color_name.append(cell.value), color_code.append(cell.fill.fgColor.rgb)";
PyRun_SimpleString(for_str.c_str());
PyRun_SimpleString("print(color_name)");
PyRun_SimpleString("print(color_code)");
Py_Finalize();
return 0;
}