ruby读取SQLite的图片数据并插入word中

表的结构请参看

 http://xineohpanihc.iteye.com/blog/1013973

 

# coding: utf-8

require 'win32ole'

require 'sqlite3'

require 'base64'

require 'pathname'

 

db = SQLite3::Database.new 'abc.db'

 

word=WIN32OLE.new 'word.Application'

word.visible=true

doc=word.Documents

d=doc.add

sel=word.Selection

ad=word.ActiveDocument

 

ad.Styles.Add('Name'=>'Toc1')

font=ad.Styles("Toc1").Font

font.Size=14

font.Bold=true

font.Name="宋体"

 

sel.Style=ad.Styles("Toc1") 

 

 

db.results_as_hash = true

db.execute("select * from test;") do |row|

    sel.TypeText('Text'=>row['name'])

end

 

s=ad.Shapes.AddShape(1,150,150,100,100)

db.execute("select * from test;") do |row|

    image=Base64.decode64(row['image'])

    id = row['id']

    picture="c:\\tmp\\aa#{id}.jpg"

    File.open(picture,'wb') do|pic|

      pic<< image

    end

 

     p picture.to_s.gsub!(/\\/,'/')

     s.Fill.UserPicture picture.to_s

end

 

#s.Delete

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值