****彩印管理系统部署及开发心得

1.采用combox读取数据库客户信息的控件,需要安装offcie,否则无法启动项目连接数据库。

2.客户端安装office 2007,也能正常打印文字。如果把图片也指定到单元格打印或输出,就必须再装office2003。(后经过完善了打印类,office2007也可以指定图片了)

3.EPSON针式打印,自定义纸张,对win7 64位可能无效,需要安装在XP电脑上面,然后其他电脑共享这台打印机。

 

开发心得:

ExcelHelper.cs有关图片插入在系统安装office2003和ofice2007引发的插入位置不对的解决方案

具体来说,就是用Shapes.AddPicture方法替代pics.Insert方法。

经过测试,发现Shapes.AddPicture支持office2003和office2007两种系统环境下图片插入指定单元格位置

 

 

public bool InsertPicture(string RangeName, string PicturePath, float PictuteWidth, float PictureHeight)
{
try
{

 

m_xlCells = m_xlSheet.get_Range(RangeName, m_objOpt);
m_xlCells.Select();

 

//************* 使用picture.Insert方法插入图片 仅OFFICE2003版本支持 ***************************

 

//Excel.Pictures pics = (Excel.Pictures)m_xlSheet.Pictures(m_objOpt);
//pics.Insert(PicturePath, m_objOpt);

 

//****************使用下列AddPicture方法插入图片 OFFICE2003和OFFICE2007版本 ************************************************
float PicLeft, PicTop;//指定图片大小

 

PicLeft = Convert.ToSingle(m_xlCells.Left);
PicTop = Convert.ToSingle(m_xlCells.Top);

 

//控制插入表格的图片大小,设定图片大小和插入的单元格宽高一致

 

//PicWid = Convert.ToSingle(m_xlCells.Width);
//PicHit = Convert.ToSingle(m_xlCells.Height);

 

m_xlSheet.Shapes.AddPicture(PicturePath, MsoTriState.msoFalse, MsoTriState.msoTrue, PicLeft, PicTop, PictuteWidth, PictureHeight);

 

return true;
}
catch (Exception)
{
//如果图片路径有问题,则返回false
return false;
}
finally
{
//カーソルを戻す
System.Windows.Forms.Cursor.Current = Cursors.Default;
}

 

}

 

转载于:https://www.cnblogs.com/tangfei/p/5099770.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值