• WPF 导出Excel 导出图片


            /// <summary>
            /// 导出Excel
            /// </summary>
            private void ExportExcel(DataTable ExcelDt)
            {
                //导出表格
                HSSFWorkbook workBook = new HSSFWorkbook();
                ISheet sheet1 = workBook.CreateSheet("表名");
                //表头
                IRow headerRow = sheet1.CreateRow(0);
                foreach (DataColumn column in ExcelDt.Columns)
                {
                    headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
                }
                int rowIndex = 1;
                foreach (DataRow dr in ExcelDt.Rows)
                {
                    IRow dataRow = sheet1.CreateRow(rowIndex++);
                    foreach (DataColumn column in ExcelDt.Columns)
                    {
                        dataRow.CreateCell(column.Ordinal).SetCellValue(dr[column.ColumnName].ToString());
                    }
                }
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.DefaultExt = ".xls";
                sfd.Filter = "(*.xls)|*.xls";
                if (sfd.ShowDialog() == true)
                {
                    try
                    {
                        FileStream file = new FileStream(sfd.FileName, FileMode.Create);
                        workBook.Write(file);
                        file.Dispose();
                        MessageDialog.Show("导出成功!", "提示");
                    }
                    catch (Exception)
                    {
                        MessageDialog.Show("该文件正在被其他进程占用,导出失败!", "提示");
                    }
                }
            }
    

      使用NPOI.dll ,上述代码是使用DLL 1.2.4.0,可能使用的DLL不同,代码略有不同。比如,有的版本的NPOI.dll 的是使用的是Sheet而非ISheet。

    2.导出图片

            /// <summary>
            /// 图片转化为bitmap
            /// </summary>
            /// <param name="chartTemp"></param>
            /// <returns></returns>
            private Bitmap GetControlMap(Control ctrl)
            {
                System.Windows.Point point = ctrl.PointToScreen(new System.Windows.Point(0, 0));
                System.Drawing.Bitmap bitmap = new Bitmap((int)ctrl.Width, (int)ctrl.Height);
                System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
                System.Drawing.Size size = new System.Drawing.Size((int)ctrl.Width, (int)ctrl.Height);
                g.CopyFromScreen((int)point.X, (int)point.Y, 0, 0, size);
                return bitmap;
            }
    

      

            /// <summary>
            /// 导出图片
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnToImage_Click(object sender, RoutedEventArgs e)
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.DefaultExt = ".jpg";
                sfd.Filter = "(*.jpg)|*.jpg";
                if (sfd.ShowDialog() == true)
                {
                    Bitmap bitmap = GetControlMap(humiCloud);
                    bitmap.Save(sfd.FileName);
                    MessageDialog.Show("导出成功!", "提示");
                }
            }
    

      

    
    
  • 相关阅读:
    PHP探针
    服务器fsockopen函数和pfsockopen函数开启及作用
    WP SMTP插件为啥我一直设置的不对?
    用WP SMTP插件实现邮件发送功能
    openssl基本原理 + 生成证书 + 使用实例
    解决wordpress无法发送邮件的问题|配置好WP-Mail-SMTP的前提
    使用 openssl 生成证书
    如何使用OpenSSL工具生成根证书与应用证书
    OpenSSL 给自己颁发根证书,由根证书签发下级证书的步骤。
    ARMCC和GCC编译ARM代码的软浮点和硬浮点问题【转】
  • 原文地址:https://www.cnblogs.com/luohengstudy/p/3291579.html
Copyright © 2020-2023  润新知