zoukankan      html  css  js  c++  java
  • [C#][代码收集]

    [C#][代码收集] - Winform [编辑]


       01、 Winform导出Excel

       02、 WinForm 控件之Image 

       03、 >

       04、 >

       05、 >

       06、 >

       07、 >

       08、 >

       09、 >

       10、 > 


     01、Winform导出Excel 目录

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using Microsoft.Office.Interop.Excel;
    
    namespace SaleApplication.Class
    {
        class ExportExcelOfWinform
        {
            public static bool OutToExcelFromDataGridView(string title, DataGridView dgv, bool isShowExcel)
            {
                int titleColumnSpan = 0;//标题的跨列数
                string fileName = "";//保存的excel文件名
                int columnIndex = 1;//列索引
                if (dgv.Rows.Count == 0) return false;
                
                /*保存对话框*/
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Filter = "导出Excel(*.xls)|*.xls";
                sfd.FileName = title + DateTime.Now.ToString("yyyyMMddhhmmss");
    
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    fileName = sfd.FileName;
                    /*建立Excel对象*/
                    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
                    if (excel == null)
                    {
                        MessageBox.Show("无法创建Excel对象,可能您的计算机未安装Excel!");
                        return false;
                    }
                    try
                    {
                        excel.Application.Workbooks.Add(true);
                        excel.Visible = isShowExcel;
                        /*分析标题的跨列数*/
                        foreach (DataGridViewColumn column in dgv.Columns)
                        {
                            if (column.Visible == true)
                            titleColumnSpan++;
                        }
                        /*合并标题单元格*/
                        Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)excel.ActiveSheet;
                        //worksheet.get_Range("A1", "C10").Merge(); 
                        worksheet.get_Range(worksheet.Cells[1, 1] as Range, worksheet.Cells[1, titleColumnSpan] as Range).Merge();
                        /*生成标题*/
                        excel.Cells[1, 1] = title;
                        (excel.Cells[1, 1] as Range).HorizontalAlignment = XlHAlign.xlHAlignCenter;//标题居中
                        //生成字段名称
                        columnIndex = 1;
                        for (int i = 0; i < dgv.ColumnCount; i++)
                        {
                            if (dgv.Columns[i].Visible == true)
                            {
                                excel.Cells[2, columnIndex] = dgv.Columns[i].HeaderText;
                                (excel.Cells[2, columnIndex] as Range).HorizontalAlignment = XlHAlign.xlHAlignCenter;//字段居中
                                columnIndex++;
                            }
                        }
                        //填充数据 
                        for (int i = 0; i < dgv.RowCount; i++)
                        {
                            columnIndex = 1;
                            for (int j = 0; j < dgv.ColumnCount; j++)
                            {
                                if (dgv.Columns[j].Visible == true)
                                {
                                    if (dgv[j, i].ValueType == typeof(string))
                                    {
                                        excel.Cells[i + 3, columnIndex] = "'" + dgv[j, i].Value.ToString();
                                    }
                                    else
                                    {
                                        excel.Cells[i + 3, columnIndex] = dgv[j, i].Value.ToString();
                                    }
                                
                                    (excel.Cells[i + 3, columnIndex] as Range).HorizontalAlignment = XlHAlign.xlHAlignLeft;//字段居中
                                    columnIndex++;
                                }
                            }
                        }
                        worksheet.SaveAs(fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 
                    }
                    catch
                    { 
                        
                    }
                    finally
                    { 
                        excel.Quit(); 
                        excel = null;
                        GC.Collect();
                    }
                    
                    //KillProcess("Excel");
                    return true;
                }
                else
                {
                    return false;
                }
            }
            
            private static void KillProcess(string processName)//杀死与Excel相关的进程
            {
                System.Diagnostics.Process myproc = new System.Diagnostics.Process();//得到所有打开的进程
                try
                {
                    foreach(System.Diagnostics.Process thisproc in System.Diagnostics.Process.GetProcessesByName(processName))
                    {
                        if(!thisproc.CloseMainWindow())
                        {
                            thisproc.Kill();
                        }
                    }
                }
                catch(Exception Exc)
                {
                    throw new Exception("", Exc);
                }
            }
    
        }
    }
    查看代码

       02、WinForm 控件之Image 目录

    用timer控件 
    
    private void timer1_Tick(object sender, EventArgs e)
    {
    
        this.Opacity+=0.2;
        this.Width = this.Width + 20;
        this.Height = this.Height + 20;
    
        if (this.Opacity == 1) 
        { 
            timer1.Enabled = false; 
        }
    }
    
    private int temp = 0;ImageList ilist = new ImageList(); 
    
    
    private void timer1_Tick(object sender, EventArgs e) 
    { 
        if (temp % 3 != 0) 
        { 
            pictureBox1.Image = ilist.Images[temp++]; 
        } 
        else 
        { 
            temp = 1; pictureBox1.Image = ilist.Images[0]; 
        } 
    } 
    
    private void Form1_Load(object sender, EventArgs e) 
    { 
        timer1.Enabled=true; 
        ilist.Images.Add(Image.FromFile(@"X:\XXX\1.jpg")); 
        ilist.Images.Add(Image.FromFile(@"X:\XXX\2.jpg")); 
        ilist.Images.Add(Image.FromFile(@"X:\XXX\3.jpg")); 
        ilist.Images.Add(Image.FromFile(@"X:\XXX\4.jpg")); 
        
        this.pictureBox1.Image = ilist.Images[0]; 
    }
    查看代码
    PictureBoxSizeMode.Normal:       默认情况下,在 Normal 模式中,Image 置于 PictureBox 的左上角,凡是因过大而不适合 PictureBox 的任何图像部分都将被剪裁掉。
    PictureBoxSizeMode.StretchImage: 使用 StretchImage 值会使图像拉伸或收缩,以便适合 PictureBox。
    PictureBoxSizeMode.AutoSize:     使用 AutoSize 值会使控件调整大小,以便总是适合图像的大小。
    PictureBoxSizeMode.CenterImage:  使用 CenterImage 值会使图像居于工作区的中心。
    PictureBoxSizeMode.Zoom:         使用 Zoom 的值可以使图像被拉伸或收缩以适应 PictureBox;但是仍然保持原始纵横比。
    PictureBoxSizeMode 属性

       03、目录

     

       04、目录

     

       05、目录

     

       06、目录

     

       07、目录

     

       08、目录

     

       09、目录

     

       10、目录

     
    博客标明【原创】的文章都是本人亲自编写内容! 如有需要转载, 请标明出处:辉创1989(http://www.cnblogs.com/ahui1989/),届时非常感谢! 文章分享在此,希望我之原创有帮到你们! 如有不足之处也可联系我,以便我们共同探讨! 本人现职为Epicor10 系统 开发维护工作,如有需要可共同探讨相关技术知识及经验总结! QQ:929412592
  • 相关阅读:
    IE8、IE7、IE6、Firefox2.0.0.12的一些CSS HACK测试
    scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离
    使用XML技术实现OWC对数据库的展示
    Server Push详解
    Ajax ReadyState的五种状态详解
    JavaScript 动态创建表格:新增、删除行和单元格
    Windows 7令人满意,Code 7让人失望
    当Outlook 2010 Beta遇上Windows Mobile Device Center 6.1
    实际使用Windows 7中的Readyboost功能
    打开梦想的窗——成都Windows 7社区发布活动和Windows 7 Party总结
  • 原文地址:https://www.cnblogs.com/ahui1989/p/5980607.html
Copyright © 2011-2022 走看看