导航:首页 > 文件教程 > c按行读取word

c按行读取word

发布时间:2025-07-09 16:10:45

⑴ 如何将word里多行的内容复制到excel里的表格里

将Word里多行的内容复制到Excel里的表格里,可以通过以下步骤高效完成

  1. 准备Word内容

    • 确保Word文档中的内容已经按照需要的顺序排列好,每一行都是一个独立的数据项。
    • 如果Word内容中有不必要的格式或空行,可以提前进行清理,以便复制到Excel后更加整洁。
  2. 复制Word内容

    • 选中Word中需要复制的多行内容。
    • 使用快捷键Ctrl+C(或右键点击选择“复制”)来复制选中的内容。
  3. 打开Excel并定位目标单元格

    • 打开Excel工作簿,并定位到需要粘贴数据的起始单元格。
    • 确保目标单元格处于选中状态,以便粘贴内容能够正确放置。
  4. 粘贴为文本

    • 在Excel中,使用快捷键Ctrl+V(或右键点击选择“粘贴”)来粘贴复制的内容。
    • 注意:默认情况下,Excel可能会尝试将粘贴的内容格式化为表格。为了避免这种情况,可以在粘贴前点击Excel的“粘贴选项”按钮(通常出现在粘贴内容旁边的小图标),然后选择“粘贴为文本”。
  5. 调整格式(如果需要):

    • 粘贴后,如果数据没有自动对齐到单元格中,可以手动调整列宽或行高以适应数据。
    • 如果数据中包含分隔符(如逗号、制表符等),并且希望将数据拆分为多个列,可以使用Excel的“文本分列”功能。
  6. 保存工作簿

    • 完成数据粘贴和格式调整后,记得保存Excel工作簿以避免数据丢失。

通过以上步骤,你可以高效地将Word里的多行内容复制到Excel表格中,大大节省了时间和精力。

⑵ 如何用c++读取word文档

基本步骤
(1)创建)一个 MFC 的程序工程。

注意:在VC中对WORD进行操作需要在MFC AppWizard - Step 2 of
4中的Automaiton选项上打上勾。


(2)Ctrl+W 执行 ClassWizard(本文按照 VC6 操作,示例程序是在VC6 下编写测试的)。


(3)Add Class...From a type Library... 在 Office
目录中,找到想使用的类型库。(我使用的是 Office2003,其Word 的类型库文件,保存在 E:Program
FilesMicrosoft OfficeOffice12MSWOR.OLB)。

(4)选择类型库文件后,在弹出的对话窗中继续选择要添加的类。具体选择什么类,要看你将来在程序中打算调用什么功能。当然,也可以不用考虑这么多,用鼠标和Shift键配合,全部选择也可以。


(5)初始化COM。方法一,找到App的InitInstance()函数,在其中添加
AfxOleInit()函数的调用;方法二,在需要调用COM功能的地方 CoInitialize(NULL),调用完毕后
CoUninitialize()。

(6)在你需要调用 Office 功能函数的 cpp 文件中

#include
<atlbase.h> //
为了方便操作 VARIANT 类型变量,使用 CComVariant 模板类

#include "文件名.h" //
具体的头文件名,是由装载类型库的文件名决定的,如MSWORD。

示例程序:

//word应用程序
_Applicationapp;
//初始化连接
app.CreateDispatch("word.Application");
Documentsdoc;
CComVariant
a(_T(strWord)),b(false),c(0),d(true),aa(0),bb(1);
_Documentdoc1;
doc.AttachDispatch(app.GetDocuments());
doc1.AttachDispatch(doc.Add(&a,&b,&c,&d));
Rangerange;
//求出文档的所选区域
range=doc1.GetContent();//取出文件内容
str=range.GetText();
m_richedit.SetWindowText(str);
//关闭
app.Quit(&b,&c,&c);
//释放环境
app.ReleaseDispatch();

⑶ 怎么用C/C++语言读取excel文件的某一行某一列

曾用C++ Builder 写过EXCEL操作。
一般有两种方法:
1,用ADO连续EXCEL数据库,这种方式,操作可用SQL来操作。
2,用OLE方式,这种方式可以达到EXCEL中大部分的功能和操作。

以下供参考:

/************* 1--- ADO *************/
//.h
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ADODB.hpp>
#include <DB.hpp>
#include <DBGrids.hpp>
#include <Dialogs.hpp>
#include <Grids.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *btnOpen;
TButton *btnExit;
TOpenDialog *OpenDialog1;
TButton *btnEx;
TDataSource *DataSource1;
TADOConnection *ADOConnection1;
TADOQuery *ADOQuery1;
TDBGrid *DBGrid1;
void __fastcall btnExClick(TObject *Sender);
void __fastcall btnOpenClick(TObject *Sender);
void __fastcall btnExitClick(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

//.cpp
//---------------------------------------------------------------------------

#include <vcl.h>
#include <stdio.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
DBGrid1->DataSource = DataSource1;
DataSource1->DataSet = ADOQuery1;
ADOQuery1->Connection = ADOConnection1;
ADOConnection1->LoginPrompt = false;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnExClick(TObject *Sender)
{
if(ADOQuery1->Active && ADOQuery1->RecordCount>0 )
{
int col;
AnsiString s;
FILE *fp;
fp = fopen("c:\\out.txt","w+t");
if(fp==NULL)
{
Application->MessageBox("导出文件建立失败","提示");
return ;
}
col = ADOQuery1->Fields->Count;
ADOQuery1->First();
while(!ADOQuery1->Eof)
{
s = "";
for(int i=0;i<col;i++)
s += ADOQuery1->Fields->Fields[i]->AsString +"\t";

fprintf(fp,"%s\n",s.c_str());
ADOQuery1->Next();
}
fclose(fp);
}
else
{
Application->MessageBox("没有需要导出的记录,请重新打开XLS文件","提示");
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnOpenClick(TObject *Sender)
{
AnsiString sFile="";
AnsiString sCon;
if(OpenDialog1->Execute())
{
sFile = OpenDialog1->FileName;
/*
sCon = AnsiString("Driver={Microsoft Excel Driver (*.xls)};DBQ=")
+ sFile +"; ";
*/
sCon = AnsiString("Provider=MSDASQL.1;Persist Security Info=False;Extended Properties='DSN=Excel Files;DBQ=")
+ sFile +"'; ";

}

try
{
if(sFile!="")
{
ADOConnection1->Connected = False;
ADOConnection1->ConnectionString = sCon;
ADOConnection1->Connected = True;
}
}
catch(...)
{
Application->MessageBox("连接XLS失败","提示");
return ;
}

if(ADOConnection1->Connected)
{
AnsiString sSQL = "Select * from [Sheet1$]";
ADOQuery1->SQL->Text = sSQL;
ADOQuery1->Active = True;
}

}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnExitClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------

/************* 2-- OLE *************/
C++ Builder把Excel自动化对象的功能包装在下面的四个Ole Object Class函数中,应用人员可以很方便地进行调用。
设置对象属性:void OlePropertySet(属性名,参数……);
获得对象属性:Variant OlePropertyGet(属性名,参数……);
调用对象方法:1) Variant OleFunction(函数名,参数……);
2) void OleProcere(过程名,参数……);

在程序中可以用宏定义来节省时间:

#define PG OlePropertyGet
#define PS OlePropertySet
#define FN OleFunction
#define PR OleProcere

举例:
ExcelApp.OlePropertyGet("workbooks").OleFunction("Add");
可写为
ExcelApp.PG("workbooks").FN("Add");

C++ Builder中使用OLE控制Excel2000,必须掌握Excel2000的自动化对象及Microsoft Word Visual Basic帮助文件中的关于Excel的对象、方法和属性。对象是一个Excel元素,属性是对象的一个特性或操作的一个方面,方法是对象可以进行的动作。
首先定义以下几个变量:
Variant ExcelApp,Workbook1,Sheet1,Range1;

1、Excel中常用的对象是:Application,Workbooks,Worksheets等。

★创建应用对象★
Variant ExcelApp;
ExcelApp = Variant::CreateObject ("Excel.Application");
或者
ExcelApp = CreateOleObject ("Excel.Application");

★创建工作簿对象★
Variant WorkBook1;
WorkBook1 = ExcelApp.PG("ActiveWorkBook");

★创建工作表对象★
Variant Sheet1;
Sheet1 = WorkBook1.PG("ActiveSheet");

★创建区域对象★
Variant Range;
Range = Sheet1.PG("Range","A1:A10");
或者使用
Excel.Exec(PropertyGet("Range")<<"A1:C1").Exec(Procere("Select"));

2、常用的属性操作:

★使Excel程序不可见★
ExcelApp.PS("Visible", (Variant)false);

★新建EXCEL文件★

◎ 新建系统模板的工作簿
ExcelApp.PG("workbooks").FN("Add") //默认工作簿
ExcelApp.PG("workbooks").FN("Add", 1) //单工作表
ExcelApp.PG("workbooks").FN("Add", 2) //图表
ExcelApp.PG("workbooks").FN("Add", 3) //宏表
ExcelApp.PG("workbooks").FN("Add", 4) //国际通用宏表
ExcelApp.PG("workbooks").FN("Add", 5) //与默认的相同
ExcelApp.PG("workbooks").FN("Add", 6) //工作簿且只有一个表
或者使用ExcelApp的Exec方法
Excel.Exec(PropertyGet("Workbooks")).Exec(Procere("Add"));
◎ 新建自己创建的模板的工作簿
ExcelApp.PG("workbooks").FN("Add", "C:\\Temp\\result.xlt");

★打开工作簿★
ExcelApp.PG("workbooks").FN("open", "路径名.xls")

★保存工作簿★
WorkBook1.FN("Save"); //保存工作簿
WorkBook1.FN("SaveAs", "文件名");//工作簿保存为,路径注意用"\\"

★退出EXCEL★
ExcelApp.FN ("Quit");
ExcelApp = Unassigned;
或者
ExcelApp.Exec(Procere("Quit"));

★操作工作表★

◎ 选择选择工作表中第一个工作表
Workbook1.PG("Sheets", 1).PR("Select");
Sheet1 = Workbook1.PG("ActiveSheet");

◎ 重命名工作表
Sheet1.PS("Name", "Sheet的新名字");

◎ 当前工作簿中的工作表总数
int nSheetCount=Workbook1.PG("Sheets").PG("Count");

★操作行和列★

◎ 获取当前工作表中有多少行和多少列:
Sheet1.PG("UsedRange").PG("Columns").PG("Count"); //列数
Sheet1.PG("UsedRange").PG("Rows").PG("Count"); //行数

◎ 设置列宽
ExcelApp.PG("Columns", 1).PS("ColumnWidth", 22);
或者
Range = ExcelApp.PG("Cells", 1, 3);
Range.PS("ColumnWidth", 22);

◎ 设置行高
ExcelApp.PG("Rows", 2).PS("RowHeight", 25);
或者
Range = ExcelApp.PG("Cells", 2, 1);
Range.PS("RowHeight", 25);

◎ 在工作表最前面插入一行
Sheet1.PG("Rows", 1).PR("Insert");

◎ 删除一行
ExcelApp.PG("Rows", 2).PR("Delete"); //将第2行删除

// 本文作者:ccrun ,如转载请保证本文档的完整性,并注明出处。
// 欢迎光临 C++ Builder 研究 www.ccrun.com
// 摘自:http://www.ccrun.com/doc/go.asp?id=529

★操作单元格★

◎ 设置单元格字体
Sheet1.PG("Cells", 1, 1).PG("Font").PS("Name", "隶书"); //字体
Sheet1.PG("Cells", 2, 3).PG("Font").PS("size", 28); //大小

◎ 设置所选区域字体
Range.PG("Cells").PG("Font").PS("Size", 28);
// 本文转自 C++Builder研究 - http://www.ccrun.com/article.asp?i=529&d=0iezy5
Range.PG("Cells").PG("Font").PS("Color", RGB(0, 0, 255));
其中参数的设置:
Font Name : "隶书" //字体名称
Size : 12 //字体大小
Color : RGB(*,*,*) //颜色
Underline : true/false //下划线
Italic: true/false //斜体

◎ 设置单元格格式为小数百分比
Sheet1.PG("Cells", 1, 1).PS("NumberFormatLocal", "0.00%");

◎ 设定单元格的垂直对齐方式
Range = ExcelApp.PG("Cells", 3, 4);
// 1=靠上 2=居中 3=靠下对齐 4=两端对齐 5=分散对齐
Range.PS("VerticalAlignment", 2);

◎ 设定单元格的文本为自动换行
Range = ExcelApp.PG("Cells", 3, 4);
Range.PS("WrapText", true);

★单元格的合并★

◎ Range = Sheet1.PG("Range", "A1:A2"); //A1和A2单元格合并
String strRange = "A" + IntToStr(j) + ":" + "C" + IntToStr(j); //比如:A1:C5
Range1=Sheet1.PG("Range", strRange.c_str()); //可以用变量控制单元格合并
Range1.FN("Merge", false);

★读写单元格★

◎ 指定单元格赋值
String strValue = "abcdefg";
Sheet1.PG("Cells", 3, 6).PS("Value", strValue.c_str());
Sheet1.PG("Cells", j, 1).PS("Value", "总记录:" + String(j-6));
或者使用
Excel.Exec(PropertyGet("Cells")<<1<<3).Exec(PropertySet("Value")<<15);

◎ 所选区域单元格赋值
Range.PG("Cells").PS("Value", 10);

◎ 所选区域行赋值
Range.PG("Rows",1).PS("Value", 1234);

◎ 工作表列赋值
Sheet1.PG("Columns",1).PS("Value", 1234);

◎ 读取取值语句:
String strValue = Sheet1.PG("Cells", 3, 5).PG("Value");

阅读全文

与c按行读取word相关的资料

热点内容
用ipadxmind做的文件找不到了 浏览:709
3a磁吸数据线怎么样 浏览:130
在oa系统发错文件怎么收回 浏览:174
微信订餐系统云快卖 浏览:329
js分页页码 浏览:871
黑苹果1010安装卡在安装界面 浏览:423
手机QQ文件桌面 浏览:359
pdf打不开显示找不到文件 浏览:491
加工厂怎么找订单用什么APP 浏览:39
怎么让压缩文件直接扫码下载 浏览:581
电脑共享文件突然找不到网络途径了怎么办 浏览:11
微信别人显示网络吗 浏览:34
为什么删除文件一直显示不在桌面 浏览:159
json数据格式写法 浏览:651
编程语言前景怎么样 浏览:373
tgp修复工具 浏览:952
qlv文件放在桌面找不到 浏览:199
卓易彩票app 浏览:743
js获取光标 浏览:701
发送的文件怎么找不到 浏览:324

友情链接