15,979
社区成员
发帖
与我相关
我的任务
分享
void CTestExcelDlg::OnButton1()
{
// TODO: Add your control notification handler code here
_Application app;
Workbooks books;
_Workbook book;
Worksheets sheets;
_Worksheet sheet;
Range range;
Font font;
Range cols;
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
if( !app.CreateDispatch("Excel.Application") ){
this->MessageBox("无法创建Excel应用!");
return;
}
books=app.GetWorkbooks();
book=books.Add(covOptional);
sheets=book.GetSheets();
sheet=sheets.GetItem(COleVariant((short)1));
range=sheet.GetRange(COleVariant("A1"),COleVariant("A1"));
for (int i=1;i<5;i++)
{
for (int j=1;j<5;j++)
{
range.SetItem(_variant_t((long)i),_variant_t((long)j),_variant_t("test"));
}
}
cols=range.GetEntireColumn();
cols.AutoFit();
app.SetVisible(TRUE);
app.SetUserControl(TRUE);
}
void CTestExcelDlg::OnButton1()
{
// TODO: Add your control notification handler code here
_Application app;
Workbooks books;
_Workbook book;
Worksheets sheets;
_Worksheet sheet;
_Worksheet sheet2;
Range range;
Range range2;
Font font;
Font font2;
Range cols;
Range cols2;
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
if( !app.CreateDispatch("Excel.Application") ){
this->MessageBox("无法创建Excel应用!");
return;
}
books=app.GetWorkbooks();
book=books.Add(covOptional);
sheets=book.GetSheets();
sheet=sheets.GetItem(COleVariant((short)1));
range=sheet.GetRange(COleVariant("A1"),COleVariant("A1"));
for (int i=1;i<5;i++)
{
for (int j=1;j<5;j++)
{
range.SetItem(_variant_t((long)i),_variant_t((long)j),_variant_t("test"));
}
}
cols=range.GetEntireColumn();
cols.AutoFit();
app.SetVisible(TRUE);
app.SetUserControl(TRUE);
sheet2=sheets.GetItem(COleVariant((short)2)); //想切换到sheet2,但以下的内容却没有输出到
range2=sheet2.GetRange(COleVariant("A1"),COleVariant("A1"));//sheet2中
for (int k=1;i<5;i++)
{
for (int j=1;j<5;j++)
{
range2.SetItem(_variant_t((long)i),_variant_t((long)j),_variant_t("test"));
}
}
book.SaveAs(COleVariant("C:\\a.xls"),covOptional,
covOptional,covOptional,
covOptional,covOptional,(long)0,covOptional,covOptional,covOptional,covOptional,
covOptional);
}
OOL CExcelEx::SetActiveSheet(long nIndex)
{
if (!IsOpen())
{
return FALSE;
}
if (m_pWorksheet->m_lpDispatch != NULL)
{
if (m_pWorksheet->GetIndex() == nIndex)
{
return TRUE;
}
else
{
m_pWorksheet->ReleaseDispatch();
}
}
Worksheets worksheets = m_pWorkbook->GetWorksheets();
m_pWorksheet->AttachDispatch(worksheets.GetItem(_variant_t(nIndex)));
if (m_pWorksheet->m_lpDispatch != NULL)
{
m_pWorksheet->Activate();
}
return (m_pWorksheet->m_lpDispatch != NULL);
}
void CTestExcelDlg::OnButton1()
{
// TODO: Add your control notification handler code here
_Application app;
Workbooks books;
_Workbook book;
Worksheets sheets;
_Worksheet sheet;
Range range;
Font font;
Range cols;
if( !app.CreateDispatch("Excel.Application") ){
this->MessageBox("无法创建Excel应用!");
return;
}
books=app.GetWorkbooks();
app.SetVisible(false);
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
book=books.Add(covOptional);
sheets=book.GetWorksheets();
app.SetVisible(true);
sheet=sheets.GetItem(_variant_t((long)1));
range=sheet.GetCells();
for (int i=1;i<5;i++)
{
for (int j=1;j<5;j++)
{
range.SetItem(_variant_t((long)i),_variant_t((long)j),_variant_t("搞长一点做测试啊!心态要好!呵呵!"));
}
}
sheets = book.GetWorksheets();
sheet = sheets.GetItem(_variant_t((long)1));
app.SetVisible(false);
app.SetDisplayAlerts(false);
cols = sheet.GetCells();
cols.GetEntireColumn();
cols.AutoFit();
cols.SetColumnWidth(_variant_t((long)100));
sheet=sheets.GetItem(_variant_t((long)2));
range=sheet.GetCells();
range.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("test"));
sheet=sheets.GetItem(_variant_t((long)3));
range=sheet.GetCells();
sheet.Copy(vtMissing,_variant_t(sheet));
app.SetUserControl(TRUE);
book.SaveAs(COleVariant("C:\\a.xls"),_variant_t((long)TRUE),
covOptional,covOptional,
covOptional,covOptional,(long)0,covOptional,covOptional,covOptional,covOptional,
covOptional);
}