CApplication m_appExcel; // Excel应用程序 CWorkbooks m_books; CWorkbook m_book; CWorksheets sheets; CWorksheet sheet; CRange range; //选择范围 CRange column; CRange row; // 初始化Com
if (::CoInitialize( NULL ) == E_INVALIDARG) {
MessageBox(_T(\初始化Com失败!\}
// 启动Excel
if ( !m_appExcel.CreateDispatch(_T(\{
MessageBox(_T(\创建Excel失败!\::CoUninitialize(); }
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); m_appExcel.put_Visible(TRUE);
m_books.AttachDispatch(m_appExcel.get_Workbooks()); m_book.AttachDispatch(m_books.Add(covOptional));
sheets.AttachDispatch(m_book.get_Worksheets()); //得到Worksheets sheet.AttachDispatch(sheets.get_Item(_variant_t(\得到sheet1 sheet.put_Name(_T(\改名
//所有单元格颜色设为白色
range.AttachDispatch(sheet.get_Cells());
range.ClearContents(); range.ReleaseDispatch();
range.AttachDispatch(sheet.get_Range(_variant_t(\range.ClearFormats(); //插入数据
range.put_Item(_variant_t(1), _variant_t(1), _variant_t(\户号\range.put_Item(_variant_t(1), _variant_t(2), _variant_t(\户名\
for (int i = 2; i < 1000; i++) {
range.put_Item(_variant_t(i), _variant_t(2), _variant_t(i - 1));
range.put_Item(_variant_t(i), _variant_t(3), _variant_t(\}
// 为四周和内部加上边框
/*borders.AttachDispatch(range.get_Borders()); for (long i = xlEdgeLeft; i <= xlInsideHorizontal; i++) {
border = borders.get_Item(i);
border.put_LineStyle(_variant_t(xlContinuous)); border.ReleaseDispatch(); }
borders.ReleaseDispatch();*/
//调整列宽
column = range.get_EntireColumn(); column.put_ColumnWidth(_variant_t(18.63)); column.ReleaseDispatch(); range.ReleaseDispatch();
range.AttachDispatch(sheet.get_Range(_variant_t(\选中 range.Merge(_variant_t(0)); //合并单元格 range.ReleaseDispatch();
row.ReleaseDispatch(); range.ReleaseDispatch();
sheet.ReleaseDispatch(); sheets.ReleaseDispatch(); m_book.ReleaseDispatch(); m_books.ReleaseDispatch(); m_appExcel.ReleaseDispatch();