admin
2023-01-16 9190340264f947b7978072aad4b0d9660f9f891f
app/ExcelUtil.cpp
@@ -6,15 +6,15 @@
using namespace xls;
using namespace xlslib_core;
void ExcelUtil::save(list<TradeData> data, string path) {
    list<TradeData>::iterator ele1= data.begin();
void ExcelUtil::save(list<TradeData*> data, string path) {
    list<TradeData*>::iterator ele1= data.begin();
    Json::Value root,item;
    Json::StreamWriterBuilder writerBuilder;
    //自动换行
    writerBuilder.settings_["indentation"] = "";
    item["time"] = (*ele1).time;
    item["price"] = (*ele1).price;
    item["num"] = (*ele1).num;
    item["time"] = (*ele1)->time;
    item["price"] = (*ele1)->price;
    item["num"] = (*ele1)->num;
    root[0] = item;
    std::ostringstream os;
    std::unique_ptr<Json::StreamWriter> jsonWriter(writerBuilder.newStreamWriter());
@@ -36,49 +36,49 @@
    int index = 0;
    list<TradeData>::iterator ele;
    list<TradeData*>::iterator ele;
    for (ele = data.begin();ele != data.end();ele++) {
        TradeData tradeData = *ele;
        TradeData *tradeData = *ele;
        index++;
        std::ostringstream out_str;
        out_str << setiosflags(ios::fixed) << std::setprecision(2) << stof(tradeData.price);
        out_str << setiosflags(ios::fixed) << std::setprecision(2) << stof(tradeData->price);
        string t = tradeData.time;
        if (tradeData.cancelTime > 0)
        string t = tradeData->time;
        if (tradeData->cancelTime > 0)
        {
            t.append(" ").append(to_string(tradeData.cancelTime));
            t.append(" ").append(to_string(tradeData->cancelTime));
            string cancelTimeUnit;
            if (tradeData.cancelTimeUnit == TIME_SECOND) {
            if (tradeData->cancelTimeUnit == TIME_SECOND) {
                cancelTimeUnit = "s";
            }
            else  if (tradeData.cancelTimeUnit == TIME_MINITE) {
            else  if (tradeData->cancelTimeUnit == TIME_MINITE) {
                cancelTimeUnit = "m";
            }
            else  if (tradeData.cancelTimeUnit == TIME_HOUR) {
            else  if (tradeData->cancelTimeUnit == TIME_HOUR) {
                cancelTimeUnit = "h";
            }
            t.append(cancelTimeUnit);
        }
        ws->label(index, 0,t, xf);
        ws->label(index, 1, out_str.str(), xf);
        if (tradeData.limitPrice == LIMIT_PRICE_NORMAL) {
        if (tradeData->limitPrice == LIMIT_PRICE_NORMAL) {
            ws->label(index, 2, L"正常价", xf);
        }
        else  if (tradeData.limitPrice == LIMIT_PRICE_UP) {
        else  if (tradeData->limitPrice == LIMIT_PRICE_UP) {
            ws->label(index, 2, L"涨停价", xf);
        }
        else  if (tradeData.limitPrice == LIMIT_PRICE_DOWN) {
        else  if (tradeData->limitPrice == LIMIT_PRICE_DOWN) {
            ws->label(index, 2, L"跌停价", xf);
        }
        ws->label(index, 3, to_string(tradeData.num), xf);
        ws->label(index, 3, to_string(tradeData->num), xf);
   
        wstring operate;
        switch (tradeData.operateType)
        switch (tradeData->operateType)
        {
        case OPERATE_BUY:
            operate = L"买";break;