一、基本过程:
1.打开Excel对象
2.打开Workbook/Workbooks
3.打开Worksheet/Worksheets
4.选择表格Cell
5.若要合并单元格这要先做第四步,并设置单元格的值,然后选择Range,再设置其属性值,最重要的一
个属性值是:MergeCells
6.保存退出
二、在javascript中实现:
1.var xls = new ActiveXObject("Excel.Application");
xls.visible = true;//false;
2.xls.workbooks.open(strSaveLocation);
var xlsbook = xls.activeworkbook;
3.var xlssheet = xlsbook.worksheets(1);
4.xlssheet.cells(1,1).value = "js op excel";
或者:xlssheet.Range("A1").value="haha";
5.假设先有xlssheet.Range("A1").value="haha";
xlssheet.Range("A1:B2").MergeCells=true;
6.xlsbook.save;
xls.quit;
xls = null;
delete xls;
三、在VC中实现:
_Application app;//Excel程序对象
_Workbook book;//工作集对象
_Worksheet sheet;//工作簿对象
Workbooks books;
Worksheets sheets;
Range range;//Excel中的表格
LPDISPATCH lpDisp;//自动化接口
//COleVariant 变量
COleVariant covTrue((short)TRUE),
covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
OleInitialize(NULL);
AfxEnableControlContainer();
//创建Excel程序
if(!app.CreateDispatch("Excel.Application"))
{
AfxMessageBox("不能创建Excel程序");
return;
}
app.SetVisible(TRUE);
app.SetUserControl(TRUE);
books.AttachDispatch(app.GetWorkbooks());
if(!bTag)
{
book.AttachDispatch(books.Add(covOptional));
}
else{
lpDisp=books.Open(strPath, //初始化.
covOptional,covOptional,covOptional,covOptional,covOptional
,covOptional,covOptional,covOptional,covOptional,covOptional,covOptional
,covOptional,covOptional,covOptional);
book.AttachDispatch(lpDisp);
}
sheets.AttachDispatch(book.GetWorksheets());
sheet.AttachDispatch(sheets.GetItem(COleVariant((long)1)));
CString strHead=strFrom+"/r/n"+strData;
range.AttachDispatch(sheet.GetUsedRange());
range.AttachDispatch(range.GetColumns());
long iColNum=range.GetCount();
range.DetachDispatch();
range.AttachDispatch(sheet.GetCells());
range.SetItem(COleVariant(long(1)),COleVariant(long(iColNum+1)),COleVariant(strHead));
if(!bTag)
{
range.AttachDispatch(sheet.GetCells());
range.SetItem(COleVariant(long(1)),COleVariant(long(1)),COleVariant(_T("命令结构")));
int nCount=m_edtStruct.GetLineCount();
CString strStruct;
m_edtStruct.GetWindowText(strStruct);
if(""!=strStruct)
{
for(int i=0;i<nCount;i++)
{
CString strText;
int nIndex=m_edtStruct.LineIndex(i);
int nLen=m_edtStruct.LineLength(nIndex);
m_edtStruct.GetLine(i, strText.GetBuffer(nLen),nLen);
strText.ReleaseBuffer(nLen);
range.AttachDispatch(sheet.GetCells());
range.SetItem(COleVariant((long)(i+2)),COleVariant((long)1),COleVariant(strText));
}
}
}
int nDataLen=strData.GetLength();
int nCurRow=3;
for(int j=0;j<nDataLen/2;j++)
{
CString strTemp=strData.Mid(j*2,2);
int nTemp=HexStringToInt(strTemp);
for(int k=0x80;k!=0;k>>=1)
{
range.AttachDispatch(sheet.GetCells());
if((nTemp&k)!=0)
range.SetItem(COleVariant((long)(nCurRow)),COleVariant(long(iColNum+1)),COleVariant(_T("∨")));
else range.SetItem(COleVariant((long)(nCurRow)),COleVariant(long(iColNum+1)),COleVariant(_T("×")));
nCurRow++;
}
nCurRow++;
}
range.ReleaseDispatch();
sheet.ReleaseDispatch();
sheets.ReleaseDispatch();
if(!bTag)
book.SaveAs((COleVariant)strPath,covOptional,covOptional,covOptional,covOptional,covOptional
,0,covOptional,covOptional,covOptional,covOptional,covOptional);
else
{
book.Save();
book.Close(covOptional,COleVariant(strPath),covOptional);
}
book.ReleaseDispatch();
books.Close();
books.ReleaseDispatch();
app.Quit();
VC操作Excel
最新推荐文章于 2014-04-16 17:39:24 发布

1万+

被折叠的 条评论
为什么被折叠?



