C# 操作excel单元格居中

C# 操作excel

//导出Excel
        private void ExportExcel(string fileName, System.Data.DataTable myDGV, string title)
        {
            string saveFileName = "";
            System.Windows.Forms.SaveFileDialog saveDialog = new System.Windows.Forms.SaveFileDialog();
            saveDialog.DefaultExt = "xlsx";
            saveDialog.Filter = "Excel文件|*.xlsx";
            saveDialog.FileName = fileName;
            saveDialog.ShowDialog();
            saveFileName = saveDialog.FileName;
            if (saveFileName.IndexOf(":") < 0) return; //被点了取消
            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
            if (xlApp == null)
            {
                System.Windows.MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel");
                return;
            }
            Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
            Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
            Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1

//操作单元格
            Range rangeLecture = worksheet.Range[worksheet.Cells[1, 1], worksheet.Cells[1, myDGV.Columns.Count]];
            rangeLecture.Application.DisplayAlerts = false;
            rangeLecture.Merge(Missing.Value);
            rangeLecture.Application.DisplayAlerts = true;
            worksheet.Cells[1, 1] = title;

//写入标题
            for (int i = 0; i < myDGV.Columns.Count; i++)
            {
                worksheet.Cells[2, i + 1] = myDGV.Columns[i].ColumnName;
            }
            //写入数值
            for (int r = 0; r < myDGV.Rows.Count; r++)
            {
                for (int i = 0; i < myDGV.Columns.Count; i++)
                {
                    worksheet.Cells[r + 3, i + 1] = myDGV.Rows[r][i].ToString();
                }
                System.Windows.Forms.Application.DoEvents();
            }
            worksheet.Columns.EntireColumn.AutoFit();//列宽自适应
            if (saveFileName != "")
            {
                try
                {
                    workbook.Saved = true;
                    workbook.SaveCopyAs(saveFileName);
                }
                catch (Exception ex)
                {
                    System.Windows.MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);
                }
            }
            xlApp.Quit();
            GC.Collect();//强行销毁
            //System.Windows.Forms.MessageBox.Show("文件保存成功", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

操作单元格样式

worksheet.Cells[1, 1].Value2 = strTitle; //设置单元格内文本

worksheet.Cells[1, 1].Font.Name = "宋体";//设置字体

worksheet.Cells[1, 1].Font.Size = 18;//字体大小

worksheet.Cells[1, 1].Font.Bold = true;//加粗显示

worksheet.Cells[1, 1].HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//水平居中

worksheet.Cells[1, 1].VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;//垂直居中

worksheet.Cells[1, 1].Borders.LineStyle = Excel.XlLineStyle.xlContinuous;//设置边框

worksheet.Cells[1, 1].Borders.Weight = Excel.XlBorderWeight.xlMedium;//边框常规粗细

时间: 2024-11-06 00:05:31

C# 操作excel单元格居中的相关文章

Excel单元格内容太多会覆盖遮住下一单元格范围

Excel单元格内容太多会覆盖遮住下一单元格范围分步阅读 Excel中的单元格内容,有着不同的对齐方式.用户可根据自己的需求,在处理数据的时候,自行设置所需要的对齐方式. 当您在处理数据的时候,如果设置不当,就会遇到这样的问题:Excel单元格内容太多会覆盖遮住下一单元格范围. 可以通过如下的方法来解决. 方法/步骤 如下图,B2单元格,仅输入了几个中文,但是,由于列的宽度不够,因此,该单元格的内容会延伸到下一单元格并覆盖了下一单元格的范围.从而影响了下一单元格的输入与修改. 此时,我们需要的方

poi设置一个Excel单元格的内容为多种样式的方法

有的时候我们POI操作Excel时,需要将Excel单元格的内容设置为多种样式,比如:设置单元格的内容为两种颜色,方法如下: //定义字体 HSSFFont redFont = (HSSFFont) workbook.createFont(); redFont.setColor(HSSFColor.RED.index);// 红色 HSSFFont blueFont = (HSSFFont) workbook.createFont(); redFont.setColor(HSSFColor.BL

读取写入excel单元格

以下是一些对excel的一些基本操作 1:工程对excel类库的导入,如:c:\program files\Microsoft office\offiece11\excel.exe2:命名控件的引入: using Microsoft.office.Interop.Excel; 3:如果是对一个已经存在的excel文件进行操作则:Application app=new Application();Workbook wbook=app.Workbooks.Open("c:\\temp.xls&quo

Excel单元格的输入技巧1

今天来跟大家分享在EXCEL 工作表单元个里面的一些输入技巧,这些不起眼的小技巧,看似简单,但对提高工作效率,也是有很大作用的. 1 复制上一个单元格内容(列方向)ctrl+d.比如你在B4 单元格输入字符A,然后到B5单元格进入编辑状态,然后按ctrl+d就会复制B4单元格的字符A, 亦或你从B4开始向下选取至Bn单元格,然后按ctrl+d:这个区域单元格的内容都会变成字符A.如图. 2复制前一个单元格内容(行方向)ctr+r. 方法同上,只是快捷键不一样.如图. 3单元格内换行Alt+ent

excel单元格中批量加入固定字符

excel单元格前怎么批量加字母 现在我要在联系人这列,每个姓名前加入衡阳的首字母简写(HY). 3 在同行上面随便找列,我找D列.输入公式:="HY"&A2. 5 输入后,点击回车.出现 “HY黑米哥” 6 单元格的下方不是有一个小方点吗,按着鼠标左键往下拖动直到结束 切记,此时不能直接把做好的复制粘贴过去,因为此时为公式,不是数值.可以用鼠标点击一下,上面显示公式. 方法一:选择性粘贴. 方法二:记事本方法.把处理好的数据复制,粘贴到记事本中. 全选记事本数据,复制.粘贴回

NPOI Excel 单元格背景颜色对照表

NPOI Excel 单元格颜色对照表,在引用了 NPOI.dll 后可通过 ICellStyle 接口的 FillForegroundColor 属性实现 Excel 单元格的背景色设置,FillPattern 为单元格背景色的填充样式. NPOI Excel 单元格背景颜色设置方法以及颜色对照表: 1 2 3 4 5 6 ICellStyle style = workbook.CreateCellStyle(); style.FillForegroundColor = NPOI.HSSF.U

C# 导入图片到Excel单元格

导出Excel功能时需要将数据中含有图片也导出到excel单元格中 public void InsertPicture(string RangeName, string PicturePath, Microsoft.Office.Interop.Excel.Worksheet worksheet) { Microsoft.Office.Interop.Excel.Range m_objRange = worksheet.get_Range(RangeName, Type.Missing); m_

Excel 单元格自定义格式技巧总结

第一部分 Excel 中的单元格格式是一个最基本但是又很高级的技能,说它基本是因为我们几乎天天都会用到它,会用它来设置一些简单的格式,比如日期,文本等等:高级是因为利用 Excel 单元格的自定义格式我们可以实现一些看起来非常神奇和有用的效果.下面我们就由浅入深的来介绍一下 Excel 单元格自定义格式的知识和技巧. 1."G/通用格式" 以常规的数字显示,相当于"分类"列表中的"常规"选项. 代码:G/通用格式.10 显示为 10:10.1 显

qtp 读取excel单元格内容

qtp 读取excel单元格内容 Function GetExcelCells(ExcelPath,SheetName,SheetColumn,SheetRow) Set ExcelBook = CreateObject("Excel.Application") Set ExcelSheet = CreateObject("Excel.Sheet") Set myExcelBook = ExcelBook.WorkBooks.Open(ExcelPath) Set