zoukankan      html  css  js  c++  java
  • c#操作excel 设置单元格值,打开excle文件,保存excel

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace DataTransfer
    {
    public class OprationExcle
    {
    private Microsoft.Office.Interop.Excel.Application m_objExcelApp;
    private Microsoft.Office.Interop.Excel.Workbook m_objExcelWorkBook;
    private Microsoft.Office.Interop.Excel.Worksheet m_objExcelWorkSheet;
    private Microsoft.Office.Interop.Excel.Worksheet m_objTempWorkSheet;
    /// <summary>
    /// application 进程
    /// </summary>
    public OprationExcle()
    {
    try
    {
    m_objExcelApp = new Microsoft.Office.Interop.Excel.Application();
    m_objExcelApp.DisplayAlerts = false;
    }
    catch (Exception e)
    {
    Quit();
    throw new Exception(e.Message);
    }

    }
    /// <summary>
    /// 退出进程
    /// </summary>
    public void Quit()
    {
    m_objExcelApp.Quit();
    }
    /// <summary>
    /// 打开excel
    /// </summary>
    /// <param name="p_strExcelFileName"></param>
    public void OpenExcelFile(string p_strExcelFileName)
    {
    m_objExcelWorkBook = m_objExcelApp.Workbooks.Open(p_strExcelFileName, Type.Missing,
    true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing);
    }
    /// <summary>
    /// 选择sheet
    /// </summary>
    /// <param name="p_strSheetName"></param>
    public void SelectSheet(string p_strSheetName)
    {
    m_objExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)m_objExcelWorkBook.Sheets[p_strSheetName];
    }
    /// <summary>
    /// 设置单元格的值
    /// </summary>
    /// <param name="p_intRows"></param>
    /// <param name="p_intColumn"></param>
    /// <param name="p_strValue"></param>
    public void SetCellValue(int p_intRows, int p_intColumn, string p_strValue)
    {

    try
    {
    if (p_intRows <= 65528)
    {
    m_objExcelWorkSheet.Cells[p_intRows, p_intColumn] = p_strValue;
    }
    }
    catch (Exception ex)
    {
    Quit();
    throw new Exception(ex.Message);
    }
    }
    /// <summary>
    /// 设置合并单元格
    /// </summary>
    /// <param name="c"></param>
    /// <param name="b"></param>
    public void SetArange(string c, string b)
    {
    m_objExcelWorkSheet.get_Range(c, b).Merge(Type.Missing); ;
    }
    /// <summary>
    /// 保存excel
    /// </summary>
    /// <param name="p_strName"></param>
    public void SaveAs(string p_strName)
    {

    m_objExcelWorkBook.SaveAs(p_strName, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    }
    /// <summary>
    /// 设置单元格的颜色
    /// </summary>
    /// <param name="sRow"></param>
    /// <param name="sCol"></param>
    /// <param name="eRow"></param>
    /// <param name="eCol"></param>
    /// <param name="colorIndex"></param>
    public void SetRangeBackground(int sRow, int sCol, int eRow, int eCol, int colorIndex)
    {
    //range = m_objExcelWorkSheet.get_Range(m_objExcelWorkSheet.Cells[sRow, sCol], m_objExcelWorkSheet.Cells[eRow, eCol]);
    //range.Interior.ColorIndex = colorIndex;
    }
    }
    }

  • 相关阅读:
    不停机还能替换代码?6年的 Java程序员表示不可思议
    redis 分布式锁的 5个坑,真是又大又深
    一口气说出 4种 LBS “附近的人” 实现方式,面试官笑了
    真没想到,Springboot能这样做全局日期格式化,有点香!
    springboot + aop + Lua分布式限流的最佳实践
    不可思议的hexo,五分钟教你免费搭一个高逼格技术博客
    Redis开发运维的陷阱及避坑指南
    Jar包一键重启的Shell脚本及新服务器部署的一些经验
    与Redis的初次相识,Redis安装、启动与配置
    SpringBoot项目中应用Jedis和一些常见配置
  • 原文地址:https://www.cnblogs.com/houzf/p/5713910.html
Copyright © 2011-2022 走看看