请问WORD数据类型是什么类型?C++
可以使用VBA,读取Word文档中的所有表格,并把数字类型的单元格读出来计算。
下面是示例代码,自己适当改改就可以用了。
Dim tbs,tb, rgSet tbs = documents(1).TablesFor t1 = 1 To tbs.CountSet tb = tbs(t1)For i = 1 To tb.Rows.CountFor j = 1 To tb.Columns.CountWith tbrg = .Cell(i,j).Range.Textrg = left(rg, len(rg)-2)If IsNumeric(rg) Then'这里可以补充代码,把表格中的数字,参与表达式运算End IfEnd WithNext jNext iNext t1Set tbs = nothingSet tb = nothing
C++中怎么样读取word或excel中的数据?读取后可不可以可以不可以放...
展开全部 1、首先,打开媒介工具“记事本”,将word文件里需要导入的数据,复制粘贴到记事本当中,然后保存成为txt文件,本例中将txt文件取名为“数据源.txt”。
2、打开excel表格,点击“数据”选项卡,找到“自文本”。
3、点击“自文本”,弹出下一窗口,选择刚才保存的名为“数据源”的txt类型文件,点击“导入”。
因“自文本”方式数据导入默认的只有三种文件类型txt、csv、prn,所以需要事先将word转变为txt。
...
C++所有数据类型是什么?
你说的这是MFC的数据类型。
MFC中常见的数据类型如下:1、Win32程序共同使用的数据类型:BOOL:布尔值,取值为TRUE or FALSEBSTR:32-bit 字符指针BYTE:8-bit整数,未带正负号COLORREF:32-bit数值,代表一个颜色值DWORD:32-bit整数,未带正负号LONG:32-bit整数,带正负号LPARAM:32-bit整数,作为窗口函数或callback函数的一个参数LPCSTR:32-bit指针,指向一个常数字符串LPSTR:32-bit指针,指向一个字符串LPCTSTR:32-bit指针,指向一个常数字符串,此字符串可以移植到Unicode和DBCSLPTSTR:32-bit指针,指向一个字符串,此字符串可以移植到Unicode和DBCSLPVOID:32-bit指针,指向一个未指定类型的数据LPRESULT:32-bit数值,作为窗口函数或callback函数的返回值UINT:在Win16中是一个16-bit 未带正负号整数,在Win32中是一个32-bit 未带 正负号整数,WNDPROC:32-bit指针,指向一个窗口函数WORD:16-bit 整数 ,未带正负号WPARAM:窗口函数或callback函数的一个参数,在Win16中是16-bit,在Win32中是32-bit2、MFC独特的数据类型POSITION:一个数值,代表collection对象(例如数组或链表)中的元素位置,常 用于MFC collection classes(即数据处理类,如CArray)LPCRECT:32-bit指针,指向一个不变的RECT结构
vc++ 怎么做个表格
1、添加OLE/COM支持。
首先,应用程序必须添加对OLE/COM的支持,才能导入OLE/COM组件。
本文使用的是MFC对话框程序,在创建工程的向导中选中Automation选项即可为程序自动添加相应的头文件和OLE库初始化代码。
通过查看源代码,可以知道在stdafx.h的头文件中,添加了OLE/COM很多类所需添加的头文件。
#include // MFC 自动化类同时,在应用程序类的InitInstance函数中,添加了OLE/COM的初始化代码,如下所示:// 初始化 OLE 库if (!AfxOleInit()){AfxMessageBox(IDP_OLE_INIT_FAILED);return FALSE;}2、导入并封装Excel中的接口Excel作为OLE/COM库插件,定义好了各类交互的接口,这些接口是跨语言的接口。
VC可以通过导入这些接口,并通过接口来对Excel的操作。
由于本文只关心对Excel表格中的数据的读取,主要关注几个_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range等几个接口。
Excel的各类接口的属性、方法可以通过MSDN的Office Development进行查询。
VS2010导入OLE/COM组件的接口的步骤为:Project->Class Wizard->Add Class->MFC Class From TypeLib,先选择要导入的组件所在的路径,即Excel.exe所在的路径,然后再选择要导入的Excel类型库中的接口。
在完成接口导入后,VS2010将自动为导入的接口创建相应的实现类,用于对接口属性和方法的实现。
由于标准的C++没有属性访问器,只能添加一个两个存取函数来实现对属性的访问,通过在属性名称前加上get_和put_前缀分别实现对属性的读写操作。
即,由VC自动完成C++类对接口的封装。
请问如何运用VC++开发程序可实现读取EXCEL中的大量数据并进行计...
//定义变量_Application ExcelApp; Workbooks wbsMyBooks; _Workbook wbMyBook; Worksheets wssMysheets;_Worksheet wsMysheet; Range rgMyRge; //创建Excel 服务器(启动Excel) if (!ExcelApp.CreateDispatch("Excel.Application",NULL)) { AfxMessageBox("创建Excel服务失败!"); exit(1); } ExcelApp.SetVisible(false); //计算过程。
。
。
。
。
//将EXCEL表格保存rgMyRge.SetHorizontalAlignment(_variant_t((long)-4108));strPath = path;strPath += "\\ylhexcel.xls";ExcelApp.SetVisible(true); //释放对象 rgMyRge.ReleaseDispatch(); wsMysheet.ReleaseDispatch(); wssMysheets.ReleaseDispatch(); wbMyBook.ReleaseDispatch(); wbsMyBooks.ReleaseDispatch(); ExcelApp.ReleaseDispatch();
打开Excel提示发现不可读取的内容 怎么解决
原因①超链接形成的外部文档链接。
②从其他文档复制数据、引用其他文档数据,形成公式中的外部数据引用。
③图形、按钮等指定的宏指向了外部文档中的宏。
解决方法1①打开Excel文件,出现上文所述的提示,发现不可读取的内容。
②通过修复或删除不可读取的内容,Excel已经能够打开该文件。
③虽然问题自动修复了,但是还是要搞清楚原因,在 xl 文件夹下的sharedStrings.xml文件出问题了。
④将xlsx文件修改扩展名,改为zip压缩文件。
⑤双击zip文件,打开看看,注意,这里不是解压,打开sharedStrings.xml文件,自动弹出浏览器,无法显示XML网页。
⑥原来是标红色的部分显示"si"和"t"标签出错了,查看源代码。
⑦xml文件的语法规则,一是每个标签(tag)都必须有开标签(如:......)和关标签(如:.....),二是这些标签必须是正确的嵌套。
⑧保存,然后扩展名改为xlsx,即可解决故障了。
解决方法21. Office按钮,Excel选项2.信任中心设置3.将个人信息选项中的红框中几个复选框取消勾选,确定即可。
VC MFC 保存CDC中的内容
你先定义一个线段类CLine,在其头文件中定义pt1和pt2,并定义一个成员函数DrawLine(),代码如下:class CLine : public CObject {private:CPoint pt1;CPoint pt2;public:CLine(CPoint p1, CPoint p2);virtual ~CLine();void DrawLine(CDC *pDC);};在实现文件Line.cpp中编写如下代码:CLine::CLine(CPoint p1, CPoint p2){pt1=p1;pt2=p2;}void CLine::DrawLine(CDC *pDC){pDC->MoveTo(pt1);pDC->LineTo(pt2);}要使用一个动态数组来保存已画好的线段,为此在文档类C***Doc的头文件中定义下面的成员变量和成员函数,并包含定义类Line的头文件:#include "Line.h"#include //使用MFC类模板class C***Doc : public CDocument{……protected:CTypedPtrArray m_LineArray; //存放线段对象指针的动态数组public:CLine * GetLine(int nIndex);void AddLine(CPoint p1, CPoint p2);int GetNumLines();……};在实现源文件***Doc.cpp中编写如下代码:void C***Doc::AddLine(CPoint p1, CPoint p2){CLine *pLine=new CLine(p1, p2);m_LineArray.Add(pLine);}CLine *C***Doc::GetLine(int nIndex){if(nIndexm_LineArray.GetUpperBound())return NULL;return m_LineArray.GetAt(nIndex);}int C***Doc::GetNumLines(){return m_LineArray.GetSize();}在WM_MOUSEMOVE消息处理函数OnMouseMove()中还要加入以下代码:void C***View::OnMouseMove(UINT nFlags, CPoint point) {if(fg){C***Doc *pDoc=GetDocument();ASSERT_VALID(pDoc);pDoc->AddLine(m_ptOrigin,point);//其中m_ptOrigin是你在C***View中定义的起始点坐标……}}最后在OnDraw()函数中实现重绘:void C***View::OnDraw(CDC* pDC){CMyDrawDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereint nIndex=pDoc->GetNumLines();while(nIndex--){pDoc->GetLine(nIndex)->DrawLine(pDC);}}
如何用VC创建一个excel文档?
展开全部 下面介绍的方法可以参考:在Visual C中如何进行处理了利用Excel 2000的ActiveX Automate功能处理起来同VB中类似。
但要注意以下几点 对于对象的属性值的读取或赋值需要用GetProperty或SetPropertyNewValue函数不能象VB中直接通过属性名称取值或赋值。
例如Worksheet.GetCount Worksheet.SetName“Sheet1”。
对集合对象中的成员对象的引用必须使用集合对象的GetItem函数。
例如Worksheets.GetItemColeVariantlong1或Worksheets.GetItemColeVariant“Sheet1”取得第一个工作表。
在COM接口中时常用到VariantBSTRSafeArray数据类型。
Variant数据类型是一个联合可表示几乎所有的类型的数据具体用法见MSDN中的相关介绍类_variant_t是对VARIANT数据类型的封装。
在Excel 2000的VB编程帮助中如果提到某函数或属性需要一个值该值的数据类型通常是Variant在封装Excel 2000对象的类定义中说明了具体需要的数据类型。
BSTR是一个包括了字符串和字符串长度的数据结构类_bstr_t是对BSTR数据类型的封装。
在Excel 2000的VB编程帮助中提到的字符串通常指BSTR。
具体函数参数或属性的数据类型见封装该对象的类的定义。
SafeArray是一个包括数组和数组边界的结构数组边界外的内容不允许访问。
在Excel 2000的VB编程帮助中提到的数组是指SafeArray。
关于SafeArray的处理请见MSDN的相关帮助。
对于缺省参数和缺省值。
在VB中函数的参数可以空缺在VC中不允许必须将所有的参数填写完全。
如果你希望指定某个参数为缺省值根据参数数据类型的不同可指定不同的缺省值。
当参数数据类型为字符串时可以用长度为0的字符串。
如果参数是Variant类型可用常量vtMissing该常量在comdef.h中定义。
也可用_variant_tDISP_E_PARAMNOTFOUND VT_ERROR产生一个Variant对象。
Excel对象中的集合对象有时包括的子对象是不一定的例如Range对象可以表示Cell的集合也可以表示Column的集合或Row的集合Range.GetItem1可以返回Cell或Column或Row对象。
对对象的引用或传递对象使用IDispatch类对象有时利用Variant对IDispatch进行包装。
以下是一段源程序演示如何启动Excel 2000利用一个模板文件产生一个新文档在该文档的”Sheet1”工作表的第一个单元中填写一段文字设置第一列的列宽然后调用一个模板中的宏执行一段程序最后打印预览该Excel文档。
模板文件名称MyTemplate.xlt。
程序在Visual C 6.0 sp4Windows 2000 Professional sp-1下调试通过。
首先利用Visual C 6.0建立一个MFC基于对话框的工程项目共享DLLWin32平台。
工程名称ExcelTest。
在主对话框中加入一个按钮 ID IDC_EXCELTEST Caption Test Excel 双击该按钮增加成员函数void CExcelTestDlg::OnExceltest。
在BOOL CExcelTestApp::InitInstance中dlg.DoModal之前增加代码 if CoInitializeNULL0 AfxMessageBox初始化COM支持库失败 exit1 在return FALSE 语句前加入 CoUninitialize 选择Menu-View-ClassWizade打开ClassWizade窗口选择Add Class-From a type library选择D:Program FilesMicrosoft OfficeofficeExcel9.OLBD:Program FilesMicrosoft Office是本机上Microsoft Office 2000的安装目录可根据个人机器上的实际安装目录修改。
选择_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range加入新类分别为_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range头文件Excel9.h源文件Excel9.cpp。
在ExcelTestDlg.cpp文件的头部include ExcelTestDlg.h语句之下增加 include comdef.h include Excel9.h 在void CExcelTestDlg::OnExceltest 函数中增加如下代码 void CExcelTestDlg::OnExceltest _Application ExcelApp Workbooks wbsMyBooks _Workbook wbMyBook Worksheets wssMysheets _Worksheet wsMysheet Range rgMyRge //创建Excel 2000服务器启动Excel if ExcelApp.CreateDispatchExcel.ApplicationNULL AfxMessageBox创建Excel服务失败 exit1 //利用模板文件建立新文档 wbsMyBooks.AttachDispatchExcelApp.GetWorkbookstrue wbMyBook.AttachDispatchwbsMyBooks.Add_variant_tg:exceltestMyTemplate.xlt //得到Worksheets wssMysheets.AttachDispatchwbMyBook.GetWorksheetstrue //得到sheet1 wsMysheet.AttachDispatchwssMysheets.GetItem_variant_tsheet1true //得到全部Cells此时rgMyRge是cells的集合 rgMyRge.AttachDispatchwsMysheet.GetCellstrue //设置1行1列的单元的值 rgMyRge.SetItem_variant_tlong1_variant_tlong1_variant_tThis Is A Excel Test Program //得到所有的列 rgMyRge.AttachDispatchwsMysheet.GetColumnstrue //得到第一列 rgMyRge.AttachDispatchrgMyRge.GetItem_variant_tlong1vtMissing.pdispValtrue //设置列宽 rgMyRge.SetColumnWidth_variant_tlong200 //调用模板中预先存放的宏 ExcelApp.Run_variant_tCopyRow_variant_tlong10vtMissingvtMissing vtMissingvtMissingvtMissingvtMissingvtMissingvtMissingvtMissing vtMissingvtMissingvtMissingvtMissingvtMissingvtMissingvtMissing vtMissingvtMi...
转载请注明出处51数据库 » mfc读取word表格数据类型
角落落的光