设为首页 加入收藏

TOP

一个vc的clistctrl的数据写到excel的方法(四)
2014-11-23 20:26:41 】 浏览:1588
Tags:一个 clistctrl 数据 excel 方法
(int nColF, int nColT, double dWidth)
{
CString strRange;
strRange.Format(TEXT("%c%d:%c%d"), nColF + 'A' - 1, 1, nColT + 'A'- 1, 1 );
pThisRange = pThisWorksheet->GetRange((_variant_t)strRange);
pThisRange->GetEntireColumn()->ColumnWidth = dWidth;


}




void CEclOp::SetCellText(short nSheet,CString strCell, _variant_t Content)
{


// pThisWorksheet = pThisSheets->GetItem(nSheet);
// pThisRange = pThisWorksheet->GetRange(COleVariant(strCell), COleVariant(strCell));


CString strRange;


pThisWorksheet = pThisSheets->GetItem(nSheet);


// strRange.Format("%c%d:%c%d", Col + 'A' - 1, Row, Col + 'A'- 1, Row );//need to confirm;


strRange = strCell + ":" + strCell;


pThisRange = pThisWorksheet->GetRange((_variant_t)strRange);


pThisRange->PutItem(1, 1, Content);


}


CString CEclOp::GetCellText(short nSheet, int Row, int Col)
{
CString strRet;
CString strRange;
pThisWorksheet = pThisSheets->GetItem(nSheet);


if (Col <= 26)
strRange.Format(TEXT("%c%d:%c%d"), Col + 'A' - 1, Row, Col + 'A'- 1, Row );//need to confirm;
else //if (Col > 26 && Col <= 256)//max columns of an excel sheet is 256
{
char chCol = Col % 26 + 'A' - 1 < 'A' 'Z':Col % 26 + 'A' - 1;
strRange.Format(TEXT("%c%c%d:%c%c%d"), (Col-1) / 26 + 'A' - 1, chCol, Row, (Col-1)/ 26 + 'A' - 1, chCol, Row);
}


pThisRange = pThisWorksheet->GetRange((_variant_t)strRange);


strRet = pThisRange->GetText();


return strRet;
}


void CEclOp::SetCellText(short nSheet,int Row, int Col, _variant_t Content)
{


CString strRange;
int nColStart = 1;


pThisWorksheet = pThisSheets->GetItem(nSheet);


if (Col <= 26)
strRange.Format(TEXT("%c%d:%c%d"), Col + 'A' - 1, Row, Col + 'A'- 1, Row );//need to confirm;
else //if (Col > 26 && Col <= 256)//max columns of an excel sheet is 256
{
char chCol = Col % 26 + 'A' - 1 < 'A' 'Z':Col % 26 + 'A' - 1;
strRange.Format(TEXT("%c%c%d:%c%c%d"), (Col-1) / 26 + 'A' - 1, chCol, Row, (Col-1)/ 26 + 'A' - 1, chCol, Row);
}


pThisRange = pThisWorksheet->GetRange((_variant_t)strRange);
pThisRange->PutItem(1, nColStart, Content);


}


void CEclOp::InsertPicsFromFile(LPCSTR path, short nSheet, double left, double top)
{
pThisWorksheet = pThisSheets->GetItem((_variant_t)nSheet);


PicturesPtr pics = pThisWorksheet->Pictures();


pics->Insert(path, VARIANT_FALSE);
pics->PutLeft(left);
pics->PutTop(top);


}


void CEclOp::InsertSheetsAfter(short nSheet, int nNum)
{
_WorksheetPtr pSheet = pThisSheets->GetItem(nSheet);
VARIANT var;


var.vt = VT_DISPATCH;
var.pdispVal = pSheet;


pThisSheets->Add(vtMissing,var,nNum);


}


void CEclOp::SaveQuit(CString strPath)
{


vSaveAsAccessMode = xlNoChange ;
vFileFormat = xlWorkbookNormal ;
vSaveConflictResolution = xlLocalSessionChanges ;


pThisWorkbook->SaveAs(_variant_t(strPath), vFileFormat,_variant_t(""),_variant_t(""), _variant_t(false),
_variant_t(false), vSaveAsAccessMode, vSaveConflictResolution, _variant_t(false)) ;
pThisWorkbook->Close();
pApplication->Quit();
}


void CEclOp::SetCellColor(short nSheet, CString strRange, COLORREF rgb)
{
pThisWorksheet = pThisSheets->GetItem((_variant_t)nSheet);
pThisWorksheet->GetRange((_variant_t)strRange)->GetInterior()->PutColor(rgb);
}


void CEclOp::SetCellColor(short nSheet, int row, int col, COLORREF rgb)
{
pThisWorksheet = pThisSheets->GetItem((_variant_t)nSheet);
CString strRange;
strRange.Format(TEXT("%c%d:%c%d"), 'A' + col - 1, row, 'A'
首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇出现"eh.h is only for C++!.. 下一篇CTaskDialog 的用法 例子 Visual ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目