Bitmap bmp;
IDataObject data = System.Windows.Forms.Clipboard.GetDataObject();
bmp = (Bitmap)(data.GetData(typeofSystem.Drawing.Bitmap)));

MemoryStream ms = new MemoryStream();
bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Bmp); //bmp格式

byte[] byteArray = ms.ToArray();chartDataSet.Tables[0].Rows[0]["Chart10"] = byteArray; //将图片存储到dataSet中report.OpenSubreport("Chart7").SetDataSource( Report_Calculate.chartDataSet); //设置dataset为水晶报表数据源问题是,上面如果是选择的bmp(注释那行)格式,预览报表的时候就会出错,编译没问题,而选择jpeg格式就不会有问题,我希望选择bmp格式,这样清晰,有谁知道吗?

解决方案 »

  1.   

    ...
    excel.ShootExcelAsPicToAccess("A1","O42");
    Bitmap bmp;
    IDataObject data = System.Windows.Forms.Clipboard.GetDataObject();
    bmp = (Bitmap)(data.GetData(typeof(System.Drawing.Bitmap)));
    string sPicFullName = sTargetFolder + @"\Chart10.bmp";
    bmp.Save(sPicFullName);
    bmp.Dispose();
    FileStream fs = new FileStream(sPicFullName,FileMode.Open);
    BinaryReader br = new BinaryReader(fs);
    chartDataSet.Tables[0].Rows[0]["Chart10"] = br.ReadBytes(Convert.ToInt32(br.BaseStream.Length));
    br.Close();
    fs.Close();
    br = null;
    fs = null;
    excel.Dispose();网上搜索的!