问题是将数据写入特定单元格并且文件已损坏

the problem is writing data to specific cells and file is corrupted

本文关键字:单元格 文件 已损坏 数据 问题是      更新时间:2023-10-16

这并不容易 1.将数据写入特定单元格(Excel文件)和2.写入,保存,复制后Excel文件已损坏(在 Windows OS 7 上使用 Visual C++ 6.0)

输入行数据Excel(特定单元格如B6~B8,B11...)

CString strOneRecord = null;
for( pos = strList.GetHeadPosition(); pos != posTail; )
{
  CString str = recordList.GetNext( pos );
  strOneRecord += str;
  strOneRecord += szSeparator; 
  strOneRecord += "t";
}
文件

保存和复制新文件

archiveContent.WriteString(strOneRecord);
archiveContent.Close();
filePersistent.Close(); 
CopyFile(FALSE);

在此处输入图像描述

我通过excel9.h解决

    CString sSub;
    BOOL    blNewXls = FALSE;
    int nCol;
    int nSheetNum;
    int nCnt;
    CString strSerialNo,strInspector;
    COleVariant VOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);    
    _Application objApp;
    _Workbook objBook;
    Workbooks objBooks;
    Worksheets objSheets;
    _Worksheet objSheet;
    Range objRange;
    Font ft;
    LPDISPATCH lpDisp;
    if( !objApp.CreateDispatch("Excel.Application") ){AfxMessageBox("XLS ERROR");   return FALSE;}
    objApp.SetVisible(TRUE);
    objApp.SetUserControl(TRUE);
    lpDisp = objApp.GetWorkbooks();
    objBooks.AttachDispatch(lpDisp);
   lpDisp = objBooks.Open(destFileName, VOptional, VOptional, VOptional,VOptional, VOptional, VOptional, VOptional, VOptional, VOptional, VOptional, VOptional, VOptional);
   objBook.AttachDispatch(lpDisp);
   lpDisp = objBook.GetSheets();
   objSheets.AttachDispatch(lpDisp);
   lpDisp = objSheets.GetItem(COleVariant((long)1));
   objSheet.AttachDispatch(lpDisp);
    objRange = objSheet.GetRange(COleVariant("C2"), COleVariant("C2")); 
    //excel cell number
    sSub.Format("%s", row[0]);
    objRange.SetValue(COleVariant(CString(sSub)));