2 qq 34570949 qq_34570949 于 2016.04.22 14:07 提问

c++ 在for循环语句中存储excel 出错 编译无错 50C

如题,整个程序编译运行无错,但利用按钮执行这个功能的时候会出现弹窗错误,如图 请大神们看看 是什么原因 悬赏追加之。
图片说明
void Cexcelt::OnDuanxingcheng()
{
int p=0,i,j,q,nrows,ncolumns=3;
for(i=0;i<4200;)
{
q=0;
while (A[i][1]==0)
{
for(j=0;j<3;j++)
B[q][j]=A[i][j];
i++;
q++;
}
while (A[i][1]!=0)
{
for(j=0;j<3;j++)
B[q][j]=A[i][j];
i++;
q++;
nrows=q;
}
p++;//数短行程个数

    Cp=(double **)malloc(nrows*sizeof(double *));
    for(i=0;i<nrows;i++)
        Cp[i]=(double *)malloc(ncolumns*sizeof(double));
        //保存为excel
    CMyExcel ExcelMain;
    MyAlignment Xalign;
    CString strTex;
    CString strp;
    strp.Format("%d",p);
    CString strw="C";
    MyNumberFormat Xnumber;
    MyBorder Xborder;
    MyFont Xfont;
    //边框线
    Xborder.Color=RGB(0,0,0);
    Xborder.LineStyle=xlContinuous;
    Xborder.Weight=xlThin;
    //对齐方式
    Xalign.HorizontalAlignment=xlCenter;
    Xalign.VerticalAlignment=xlTop;
    //数据类型
    Xnumber.GetText();
    //字体
    Xfont.Bold=TRUE;
    Xfont.ForeColor=RGB(64,130,230);
    Xfont.Shadow=TRUE;
    //字体大小
    Xfont.size=20;

    ExcelMain.Open();
    ExcelMain.AddSheet("修正数据");

    ExcelMain.GetRange("A1","L1");
    ExcelMain.SetAlignment(Xalign);
    ExcelMain.SetNumberFormat(Xnumber);
    Xfont.size=16;
    Xfont.ForeColor=RGB(0,0,0);
    ExcelMain.SetFont(Xfont);

    ExcelMain.SetItemText(1,1,"t/s");
    ExcelMain.SetItemText(1,2,"V/(km/h)");
    ExcelMain.SetItemText(1,3,"a/(m/s2)");

    ExcelMain.GetRange("A2","strp");
    Xborder.Color=RGB(0,0,0);//边框颜色
    Xborder.Weight=xlThin;//边框厚度
    ExcelMain.AutoRange();//自动量程
    for(i=1;i<=nrows;i++)
        {
            for(j=1;j<=3;j++)
            {
                strTex.Format("%.9lf",Cp[i-1][j-1]);
                strTex=ExcelMain.SetItemText(i+1,j,strTex);
            }
        }
    ExcelMain.AutoColFit();
    CString strPath;//定义字符串变量
    CFileDialog dlg(TRUE);
    if (dlg.DoModal() == IDOK)
    {
        strPath = dlg.GetPathName();
    }
    ExcelMain.SaveAs(strPath+=".xls");
    MessageBox("已保存","提示",MB_OK|MB_ICONINFORMATION);
    memset(B,0,sizeof(B));
    free(Cp);

}

5个回答

caozhy
caozhy   Ds   Rxr 2016.04.22 14:26

CMyExcel是哪里实现的,你需要有这个的代码,然后调试下。这个提示框应该是它加上的输出,而不是excel弹出的。

rikqu
rikqu   2016.04.22 14:37

新人,感谢大神哦,非常感谢。

b491985496
b491985496   2016.04.22 14:45

把CMyExcel的实现贴出来吧,这样别人没法帮你看的

qq423399099
qq423399099   Ds   Rxr 2016.04.22 14:10

单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)

CSDNXIAON
CSDNXIAON   2016.04.22 14:12

C/C++拾遗录--for循环中的三语句执行顺序
C++中利用for和while循环条件语句求两个数的和
C++中 for(; ;) 循环语句
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!