• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
山石岩
天行健,君子以自强不息; 地势坤,君子以厚德载物!
博客园    首页    新随笔    联系   管理    订阅  订阅

操作office文件导出

C# 操作Execl

        public static bool outWuZi(DataGridView dgv,dt)
        {
            Excel.ApplicationClass myExcel = new Excel.ApplicationClass();
            myExcel.Application.Workbooks.Add(true);
            Excel.Workbook wb =(Excel.Workbook) myExcel.Application.Workbooks[1];
            Excel.Worksheet sheet = (Excel.Worksheet)wb.Sheets[1];
            sheet.Name = "名称表";
 
            myExcel.Caption = "名称表";             //表名
            //生成标题
            Excel.Range range;

            int m = 0;
            for (int i = 0; i < dgv.Columns.Count; i++)
            {
                if (dgv.Columns[i].Visible)
                {
                    sheet.Cells[1, m + 1] = dgv.Columns[i].HeaderText;
                    m++;
                }
            }

            try
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    int mm = 0;
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        sheet.Cells[i + 2, mm + 1] = dt.Rows[i][j].ToString();
                        mm++;
                    }
                }
                range = sheet.get_Range(sheet.Cells[1, 1], sheet.Cells[dt.Rows.Count + 1, dgv.Columns.GetColumnCount(DataGridViewElementStates.Visible)]);
                range.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
                myExcel.Application.Cells.EntireColumn.AutoFit(); //自动列宽
                myExcel.Application.Cells.VerticalAlignment = Excel.Constants.xlCenter;
                myExcel.Application.Cells.HorizontalAlignment = Excel.Constants.xlLeft;
                range = sheet.get_Range(sheet.Cells[1, 1], sheet.Cells[1, dgv.Columns.GetColumnCount(DataGridViewElementStates.Visible)]);
                range.Font.Bold = true;
                range.HorizontalAlignment = Excel.Constants.xlCenter;
                myExcel.Visible = true;
                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\n 请重试", "错误了");
            }
           
            return false;
        }

 

 

 public static bool outWrold(string strHead,string strTitle,string strNeiRong)
        {
            try
            {
                Microsoft.Office.Interop.Word.Application _wordApplication = new Microsoft.Office.Interop.Word.Application();
                Object myNothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Document _wordDocument = _wordApplication.Documents.Add(ref myNothing, ref myNothing, ref myNothing, ref myNothing);
                _wordApplication.Caption = strTitle;
                _wordApplication.Visible = true;
                //添加页眉
                _wordApplication.ActiveWindow.View.Type = Microsoft.Office.Interop.Word.WdViewType.wdOutlineView;
                _wordApplication.ActiveWindow.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekPrimaryHeader;
                _wordApplication.ActiveWindow.ActivePane.Selection.InsertAfter(strHead);
                _wordApplication.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                _wordApplication.ActiveWindow.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekMainDocument;
               
                //设置标题
                _wordApplication.Application.Selection.Font.Size = 16;
                _wordApplication.Application.Selection.Font.Bold = 10;
                _wordApplication.Application.Selection.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorBlack;
                _wordApplication.Application.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                _wordApplication.Application.Selection.TypeText(strTitle);
                _wordApplication.Application.Selection.TypeParagraph();
                _wordApplication.Application.Selection.TypeParagraph();
       
                //设置内容的样式
                _wordApplication.Application.Selection.Font.Size = 12;
                _wordApplication.Application.Selection.Font.Bold = 0;
                _wordApplication.Application.Selection.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorBlack;
                _wordApplication.Application.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                _wordApplication.Application.Selection.TypeText(strNeiRong);
                return true;
            }
            catch
            {
                return true;
            }
           
        }

 

posted @ 2009-12-17 15:24  猥琐的疯子  阅读(417)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3