// 按日期筛选按钮事件 winform.button_filter.oncommand = function(id, event) { var date = winform.edit_date.text; winform.listbox_schedule.clear(); var hasMatch = false;
var filtered = DataManager.filterByDate(date); for (i, v in filtered) { winform.listbox_schedule.add(v); hasMatch = true; } if (!hasMatch) winform.listbox_schedule.add('暂无数据'); }
// 生成CSV var csv = string.csv(','); var headers = {"日期", "内容"}; csv.push(headers);
var splitResult_list = {}; var allSchedules = DataManager.getAll(); for (index, content in allSchedules) { var splitResult = string.split(content, " "); var date = splitResult[1]; var contentText = splitResult[2]; table.push(splitResult_list, { '内容' : contentText, '日期' : date }); }
// 写入CSV数据 for (i=1; #splitResult_list; 1) { var row = {}; for (k, v in headers) { table.push(row, splitResult_list[i][v]); } csv.push(row); }
// 保存CSV var save = csv.save('测试.csv'); if (save !== 0) { win.msgbox('保存为csv文件成功'); } else { win.msgbox('保存失败'); }
// CSV转Excel function py_method() { var pyCode = /** import csv from openpyxl import Workbook from openpyxl.styles import Alignment from openpyxl.utils import get_column_letter
with open(input_csv, 'r', encoding='utf-8') as f: reader = csv.reader(f) for row in reader: ws.append(row)
# 单元格格式 for row in ws.iter_rows(): for cell in row: cell.alignment = Alignment( horizontal='center', vertical='center', wrapText=True, indent=3 )
# 列宽计算 for col in ws.columns: col_idx = col[0].column col_letter = get_column_letter(col_idx) max_width = 0 for cell in col: if cell.value: text = str(cell.value) width = 0 for char in text: if '\u4e00' <= char <= '\u9fff': width += 2 else: width += 1 if width > max_width: max_width = width ws.column_dimensions[col_letter].width = max_width + 4
# 行高计算 for row in ws.iter_rows(): max_height = 30 for cell in row: if cell.value: lines = str(cell.value).count('\n') + 1 row_height = lines * 30 if row_height > max_height: max_height = row_height ws.row_dimensions[cell.row].height = max_height
wb.save(output_excel) return f"转换完成!文件已保存至:{output_excel}" **/; py3.exec(pyCode); var result = py3.main.format_csv_to_excel(); if (result) win.msgbox(result); return result ? 1 : 0; }