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;
}
}