将Excel模板存储在我的Access数据库中

我想要的是:

我正在使用MS Access数据库为安大略省专业工程大学authentication委员会编写一份报告。 PEO在MS Excel中有他们的模板,我必须使用他们的确切格式。

我想从Access数据库输出数据到Excel工作表(很简单),但是我想在生成一个新文件时复制他们的格式。 (我不想保留一个空的模板文件,并每次复制它)。

所以基本上我正在寻找以某种方式存储在代码中的模板。 (欢迎其他build议!)

我试过了:

你们中的一些人会读这个,认为我是个白痴。 但是我尝试的是通过API代码从MS剪贴板上的Excel中获取数据,并将DataObject存储为(我希望)某种types的string。

但我无法保留原始MS Excel模板的格式或单元格着色。

有什么build议么?…

Solutions Collecting From Web of "将Excel模板存储在我的Access数据库中"

您可以通过创建一个包含“ Attachment字段的表来将Excel模板存储在数据库中

DesignView.png

创建一个记录并将Excel模板另存为该记录的附件

AttachmentsDialog.png

然后使用这样的VBA代码将Excel文档的新副本保存到磁盘,只要您需要一个:

 Option Compare Database Option Explicit Public Sub SaveReportTemplateToFile() Dim cdb As DAO.Database, rowRst As DAO.Recordset, attachRst As DAO.Recordset2, attachField As DAO.Field2 Set cdb = CurrentDb Set rowRst = cdb.OpenRecordset("SELECT TemplateFile FROM ReportTemplates WHERE ID=1") Set attachRst = rowRst.Fields("TemplateFile").Value Set attachField = attachRst.Fields("FileData") attachField.SaveToFile "C:\Users\Gord\Desktop\" & attachRst.Fields("FileName").Value Set attachField = Nothing attachRst.Close Set attachRst = Nothing rowRst.Close Set rowRst = Nothing Set cdb = Nothing End Sub 

你将不得不做的是首先将所有的数据导出到一个新的空白模板,然后将所有的数据链接到模板上的正确位置,然后删除所有的数据,保持数据在模板。

据我所知,没有更快的方法来做到这一点,但这里是一个例子: http : //www.rogersaccesslibrary.com/forum/topic350.html

这将是一个相当的工作,但可行,如果模板设置良好。