[C#]对Excel的操作

简介: private void ExcelOperation() { // //定义一个缺少的object对象 object oMis = System.
private void ExcelOperation()
{
    //
    //定义一个缺少的object对象           
    object oMis = System.Reflection.Missing.Value;
 
    //
    //定义一个Excel程序对象           
    Excel.ApplicationClass excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
 
    //
    //由Execl程序创建一个工作薄对象           
    Excel.Workbook excelWorkBook = excelApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
 
    //
    //由工作薄对象创建一个工作表           
    Excel.Worksheet excelWorkSheet = (Excel.Worksheet)excelWorkBook.Worksheets.Add(oMis, oMis, 1, oMis);
 
    //
    //设置工作的表的名字           
    excelWorkSheet.Name = "测试项目";
 
    //
    //定义一个Excel区域对象,用于保存选择的区域
    Excel.Range selectRange;
 
    //
    //设置第1行第1列的值
    ((Excel.Range)excelWorkSheet.Cells[1, 1]).set_Item(1, 1, "日期");
 
    //
    //设置第1行第2列的值
    ((Excel.Range)excelWorkSheet.Cells[1, 1]).set_Item(1, 2, "时间");
 
    //
    //选择第2行第2列至第2行第2列,设置值与格式
    selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[2, 2], excelWorkSheet.Cells[2, 2]);
    selectRange.set_Item(1, 1, "11:30");
    selectRange.NumberFormatLocal = @"h:mm;@";
   
    //
    //选择第3行第2列至第2行第2列,设置值与格式
    selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[3, 2], excelWorkSheet.Cells[3, 2]);
    selectRange.set_Item(1, 1, "12:30");
    selectRange.NumberFormatLocal = @"h:mm;@";
 
    //
    //选择第4行第2列至第2行第2列,设置值与格式
    selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[4, 2], excelWorkSheet.Cells[4, 2]);
    selectRange.set_Item(1, 1, "13:30");
    selectRange.NumberFormatLocal = @"h:mm;@";
 
    //
    //选择第5行第2列至第2行第2列,设置值与格式
    selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[5, 2], excelWorkSheet.Cells[5, 2]);
    selectRange.set_Item(1, 1, "14:30");
    selectRange.NumberFormatLocal = @"h:mm;@";
 
    //
    //选择第6行第2列至第2行第2列,设置值与格式
    selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[6, 2], excelWorkSheet.Cells[6, 2]);
    selectRange.set_Item(1, 1, "15:30");
    selectRange.NumberFormatLocal = @"h:mm;@";
 
    //
    //选择第2行第1列至第2行第1列,
    selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[2, 1], excelWorkSheet.Cells[2, 1]);
    //
    //选择是必须的,因设置了选择区域后并未选中此区域
    selectRange.Select();
   
    //
    //冻结窗体
    excelApp.ActiveWindow.FreezePanes = true;
 
    //
    //选择第2行第1列至第6行第1列,
    selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[2, 1], excelWorkSheet.Cells[6, 1]);           
   
    //
    //合并单元格
    selectRange.Merge(oMis);
 
    selectRange.EntireColumn.AutoFit(); //全部列自适应宽度
    selectRange.EntireRow.AutoFit();    //全部行自适应高度
 
    selectRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//水平居中
    selectRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; //垂直居中
 
    //
    //设置单元格的格式
    selectRange.NumberFormatLocal = @"yyyy-m-d;@";
    /*
        NumberFormatLocal = "¥#,##0.00_);[红色](¥#,##0.00)"   //货币      
        NumberFormatLocal = "0.00%"                             //百分比
        NumberFormatLocal = "# ??/??"                           //分数
     * */
 
    //
    //设置单元格的值
    selectRange.set_Item(1, 1, "2007-02-27");
 
    //selectRange.ColumnWidth = 50;   //固定宽度
    selectRange.Columns.AutoFit();    //自适应宽度
 
    selectRange.Borders.LineStyle = BorderStyle.FixedSingle;      //设置边框样式
    selectRange.Borders.Weight = Excel.XlBorderWeight.xlThin;     //边框粗细
    selectRange.Borders.ColorIndex = Excel.XlColorIndex.xlColorIndexAutomatic;    //颜色           

    excelWorkBook.Saved = true;     //将工作薄的保存标志置为True
 
    //捕捉异常,以防止文件为只读或已打开,保存时会出错
    try
    {
        excelWorkBook.SaveCopyAs(@"d:/aa.xls");
    }
    catch(Exception exp)
    {
        MessageBox.Show(exp.Message);
    }
 
    //Excel程序退出,注意:要在外面释放内存资源
    excelApp.Quit();
} 
目录
相关文章
|
5月前
|
Java BI 数据处理
如何在Java中实现Excel操作
如何在Java中实现Excel操作
|
3月前
|
SQL C# 数据库
EPPlus库的安装和使用 C# 中 Excel的导入和导出
本文介绍了如何使用EPPlus库在C#中实现Excel的导入和导出功能。首先,通过NuGet包管理器安装EPPlus库,然后提供了将DataGridView数据导出到Excel的步骤和代码示例,包括将DataGridView转换为DataTable和使用EPPlus将DataTable导出为Excel文件。接着,介绍了如何将Excel数据导入到数据库中,包括读取Excel文件、解析数据、执行SQL插入操作。
EPPlus库的安装和使用 C# 中 Excel的导入和导出
|
6月前
|
Java 数据库 数据安全/隐私保护
Java操作Excel文件导入导出【内含有 jxl.jar 】
Java操作Excel文件导入导出【内含有 jxl.jar 】
87 0
|
4月前
|
文字识别 C# Python
使用C#将几个Excel文件合并去重分类
使用C#将几个Excel文件合并去重分类
34 3
|
4月前
|
开发框架 算法 .NET
C#使用MiniExcel导入导出数据到Excel/CSV文件
C#使用MiniExcel导入导出数据到Excel/CSV文件
97 0
Excel如何使用VBA操作引用其它工作簿中的单元格
Excel引用其它工作簿中的单元格的值及使用VBA操作
|
6月前
|
Python
【干货】python xlwt写入excel操作
【干货】python xlwt写入excel操作
|
6月前
|
C#
【C#】C#读写Excel文件
【C#】C#读写Excel文件
141 1
|
6月前
|
图形学
【unity小技巧】unity读excel配置表操作,excel转txt文本,并读取txt文本内容,实例说明
【unity小技巧】unity读excel配置表操作,excel转txt文本,并读取txt文本内容,实例说明
223 0
|
6月前
|
分布式计算 大数据 数据处理
MaxCompute操作报错合集之在本地用tunnel命令上传excel表格到mc遇到报错: tunnel upload C:\Users***\Desktop\a.xlsx mc里的非分区表名 -s false;该怎么办
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。