社区
数据库及相关技术
帖子详情
如何将ACCESS导出成TXT或者WORD
degrees
2006-05-22 01:25:03
使用ADO+ACCESS怎么导出成txt和word啊?
...全文
409
6
打赏
收藏
如何将ACCESS导出成TXT或者WORD
使用ADO+ACCESS怎么导出成txt和word啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wenyongjie
2006-07-05
打赏
举报
回复
Mark
jone7319
2006-05-22
打赏
举报
回复
先用一个DBGrid显示Access数据表的内容,然后用老妖的函数转换,下面的老妖的函数
//---------------------------------------------------------------------------
// 将DBGrid中的数据导出到Word文档
// v0.1 by ccrun(老妖) 2005.10.13 1:40
//---------------------------------------------------------------------------
void __fastcall DBGrid2Word(TDBGrid *dbg, String strDocFile)
{
if(!dbg->DataSource->DataSet->Active) // 数据集没有打开就返回
return;
Variant vWordApp, vTable, vCell;
try
{
vWordApp = Variant::CreateObject("Word.Application");
}
catch(...)
{
MessageBox(0, "启动 Word 出错, 可能是没有安装Word.",
"DBGrid2Word", MB_OK | MB_ICONERROR);
vWordApp = Unassigned;
return;
}
// 隐藏Word界面
vWordApp.OlePropertySet("Visible", false);
// 新建一个文档
vWordApp.OlePropertyGet("Documents").OleFunction("Add");
//
Variant vSelect = vWordApp.OlePropertyGet("Selection");
// 设置一下字体,大小
vSelect.OlePropertyGet("Font").OlePropertySet("Size", dbg->Font->Size);
vSelect.OlePropertyGet("Font").OlePropertySet("Name", dbg->Font->Name.c_str());
// 要插入表格的行数
int nRowCount(dbg->DataSource->DataSet->RecordCount + 1);
nRowCount = nRowCount < 2? 2: nRowCount;
// 要插入表格的列数
int nColCount(dbg->Columns->Count);
nColCount = nColCount < 1? 1: nColCount;
// 在Word文档中插入与DBGrid行数列数基本相同的一个表格
vWordApp.OlePropertyGet("ActiveDocument").OlePropertyGet("Tables")
.OleProcedure("Add",
vSelect.OlePropertyGet("Range"),
nRowCount, // 行数
nColCount, // 列数
1, // DefaultTableBehavior:=wdWord9TableBehavior
0); // AutoFitBehavior:=wdAutoFitFixed
// 操作这个表格
vTable = vWordApp.OlePropertyGet("ActiveDocument").
OleFunction("Range").OlePropertyGet("Tables").OleFunction("Item", 1);
// 设置单元格的宽度
for(int i=0; i<nColCount; i++)
{
int nColWidth = dbg->Columns->Items[i]->Width;
vTable.OlePropertyGet("Columns").OleFunction("Item", i + 1)
.OlePropertySet("PreferredWidthType", 3); // wdPreferredWidthPoints
vTable.OlePropertyGet("Columns").OleFunction("Item", i + 1)
.OlePropertySet("PreferredWidth", nColWidth);
}
//----------------------------------------------------------------------------
// 抱歉,这个提示又来了,为了防止不负责任的转载者,只好在此留些信息。
// 作者:ccrun(老妖) info@ccrun.com
// 本文转自 C++Builder 研究 - http://www.ccrun.com/article/go.asp?i=635&d=g75jbn
//----------------------------------------------------------------------------
// 先将列名写入Word表格
for(int j=0; j<dbg->Columns->Count; j++)
{
vCell = vTable.OleFunction("Cell", 1, j + 1);
vCell.OlePropertySet("Range", dbg->Columns->Items[j]->FieldName.c_str());
// 列名单元格背景颜色 // wdColorGray125
vCell.OlePropertyGet("Shading")
.OlePropertySet("BackgroundPatternColor", 14737632);
}
// 将DBGrid中的数据写入Word表格
dbg->DataSource->DataSet->First();
for(int i=0; i<nRowCount; i++)
{
// 63 63 72 75 6E 2E 63 6F 6D
for(int j=0; j<dbg->Columns->Count; j++)
{
vCell = vTable.OleFunction("Cell", i + 2, j + 1);
vCell.OlePropertySet("Range",
dbg->DataSource->DataSet->FieldByName(
dbg->Columns->Items[j]->FieldName)->AsString.c_str());
}
dbg->DataSource->DataSet->Next();
}
// 保存Word文档并退出
vWordApp.OlePropertyGet("ActiveDocument")
.OleProcedure("SaveAs", strDocFile.c_str());
vWordApp.OlePropertyGet("ActiveDocument").OleProcedure("Close");
Application->ProcessMessages();
vWordApp.OleProcedure("Quit");
Application->ProcessMessages();
vWordApp = Unassigned;
// 工作结束
MessageBox(0, "DBGrid2Word 转换结束!",
"DBGrid2Word", MB_OK | MB_ICONINFORMATION);
}
daydayup234
2006-05-22
打赏
举报
回复
导出成word参考
http://www.ccrun.com/article/go.asp?i=635&d=g75jbn
degrees
2006-05-22
打赏
举报
回复
谢谢
请问如果需要导出成word,应该如何操作啊?
daydayup234
2006-05-22
打赏
举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ADOTable1->Open();
ADOTable1->First();
int I;
TStream *FS=new TFileStream("data.txt",fmCreate);
AnsiString s;
while(!ADOTable1->Eof)
{
s="";
for(I=0;I<ADOTable1->FieldCount;I++)
s=s+Format("%s",ARRAYOFCONST((ADOTable1->Fields->Fields[I]->AsString)))+AnsiString::StringOfChar(' ', 4);
s=s+"\r\n";
FS->WriteBuffer(s.c_str(),s.Length());
ADOTable1->Next();
}
if(FS){delete FS;FS=0;}
}
stevenjscn
2006-05-22
打赏
举报
回复
先顶一下
C#读取
access
的表信息,
导出
表结构,cs类封装
毕业论文用到了
access
数据库,又因设计的需要用到MVC设计模式,需要将数据实体封装
成
类,设置太多的表,一个一个来完
成
封装很麻烦(需要打开视图设计器,查看字段名,字段类型),所有才有了这一需求。 0.2关于...
小型人事管理系统(
ACCESS
数据库)
用ADO+MFC+
ACCESS
实现的小型人事管理系统~实现员工信息录入,修改,条件查询,按照
word
和excel格式
导出
查询结果记录集。以及系统权限限制管理。对于mfc+ado操作
access
数据库的使用是个很好的教程~结构简单清晰~注释...
一次性分享一些.NET板网友高频经常索要的源代码
6. **Export GridView to doc
access
csvExcelpdfxmlhtmltextprint.zip**:此示例展示了如何将ASP.NET GridView数据
导出
为多种格式,如DOC、
ACCESS
、CSV、Excel、PDF、XML、HTML和文本。这种功能在报表生
成
和数据交换...
基于NPOI的xls帮助类(03,07)
NPOI使得.NET开发者也能方便地处理Excel、
Word
等Office文档。它提供了API,允许程序创建、修改和显示Excel文件,无需依赖Microsoft Excel。 **支持的格式** NPOI支持两种主要的Excel文件格式: 1. **.xls (BIFF8)**...
数据库及相关技术
1,178
社区成员
18,938
社区内容
发帖
与我相关
我的任务
数据库及相关技术
C++ Builder 数据库及相关技术
复制链接
扫一扫
分享
社区描述
C++ Builder 数据库及相关技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章