mfc excel 操作
来源:互联网 发布:淘宝到家在哪里 编辑:程序博客网 时间:2024/06/05 03:52
_Application app;//Excel 应用
Workbooks books; //工作簿集合
_Workbook book; //一个工作簿
Worksheets sheets; //工作表集合
_Worksheet sheet; //一个工作表
Range range; //区域
Range oCurCell; //区域
CString strFileName1;
CFileDialog dlg(TRUE, _T("xls"), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("Excel 工作簿(*.xlsx)|*.xlsx|Excel 97-2003 工作簿(*.xls)|*.xls|"), NULL);
dlg.m_ofn.lpstrTitle = L"打开Excel文件";
int nRetVal = dlg.DoModal();
if (nRetVal == IDOK)
{
if (!app.CreateDispatch(_T("Excel.Application"), NULL))
{
AfxMessageBox(L"create Excel server failed.");
return;
}
app.SetVisible(FALSE);
books.AttachDispatch(app.GetWorkbooks(), TRUE);
LPDISPATCH lpDisp = NULL;
COleVariant covTrue((short)TRUE);
COleVariant covFalse((short)FALSE);
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
CString sFilePath = dlg.GetPathName();
strFileName1 = sFilePath;
lpDisp = books.Open(sFilePath,
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing),
_variant_t(vtMissing));
book.AttachDispatch(lpDisp, TRUE);
sheet.AttachDispatch(book.GetActiveSheet(), TRUE);
range.AttachDispatch(sheet.GetUsedRange(), TRUE);
long lgUsedRowNum = 0;
range.AttachDispatch(range.GetRows(), TRUE);
lgUsedRowNum = range.GetCount();
long lgUsedColumnNum = 0;
range.AttachDispatch(range.GetColumns(), TRUE);
lgUsedColumnNum = range.GetCount();
CString strSheetName = sheet.GetName();
range.AttachDispatch(sheet.GetCells(), TRUE);
CStringArray* arrayStr;
arrayStr = new CStringArray[lgUsedRowNum];
for (int i = 0; i < lgUsedRowNum; ++i)
{
for (int j = 1; j < lgUsedColumnNum; ++j)
{
oCurCell.AttachDispatch(range.GetItem(COleVariant((long)(i + 1)), COleVariant((long)j)).pdispVal, TRUE);
VARIANT varItemName = oCurCell.GetText();
CString strItemName;
strItemName = varItemName.bstrVal;
VARIANT varMerge = oCurCell.GetMergeCells();
CString posInfo1[] = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T"};
CString posInfo2[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20" };
if (varMerge.boolVal == -1)
{
AfxMessageBox(L"当前是合并单元格");
}
arrayStr[i].Add(strItemName);
}
}
}
阅读全文
0 0
- MFC操作excel
- MFC操作excel
- MFC操作excel
- MFC写Excel操作
- MFC操作EXCEL例子
- MFC 操作 excel
- MFC 操作Excel-读写
- mfc excel 操作
- 使用MFC操作Excel,写入
- 使用MFC操作EXCEL文件
- MFC操作EXCEL的方法
- 使用MFC操作EXCEL文件
- 使用MFC操作EXCEL文件
- (收藏)MFC操作excel
- 使用MFC操作EXCEL文件
- MFC操作EXCEL封装类
- MFC excel 操作资料收集
- 使用MFC操作EXCEL文件
- Qt工程Windows下的安装包制作
- pytorch入门
- 设计模式---状态模式
- C++中const用法总结
- linux下的信号
- mfc excel 操作
- spring+mybatis下delete和insert返回值为-2147482646问题
- 常见SQL总结
- EBS应用weblogic无法连接的问题:failure of server APACHE bridge
- LeetCode | 3. Longest Substring Without Repeating Characters
- [JAVA学习笔记-87]CompletionService简单分析
- BigDecimal 截取小数点
- centos6.8配置nginx
- Spring从IOC(Inversion of Control:控制反转)开始