c#处理excel表格

?using System;

using System.Data;

using System.Drawing;

// using Excel = Microsoft.Office.Interop.Excel;

 

namespace ExcelAutoFix.Service

{

    /// <summary>

    /// Excel 服务.

    /// </summary>

    public class ExcelService

    {

 

        #region OPEN WORKBOOK VARIABLES

        private static object vk_missing = System.Reflection.Missing.Value;

 

        private static object vk_visible = true;

        private static object vk_false = false;

        private static object vk_true = true;

        private object vk_update_links = 0;

        private object vk_read_only = vk_true;

        private object vk_format = 1;

        private object vk_password = vk_missing;

        private object vk_write_res_password = vk_missing;

        private object vk_ignore_read_only_recommend = vk_true;

        private object vk_origin = vk_missing;

        private object vk_delimiter = vk_missing;

        private object vk_editable = vk_false;

        private object vk_notify = vk_false;

        private object vk_converter = vk_missing;

        private object vk_add_to_mru = vk_false;

        private object vk_local = vk_false;

        private object vk_corrupt_load = vk_false;

        #endregion

 

 

 

        /// <summary>

        /// Excel App.

        /// </summary>

        private Excel.Application xlApp;

 

        /// <summary>

        /// Excel 工作簿.

        /// </summary>

        private Excel.Workbook xlBook = null;

 

        /// <summary>

        /// Excel 工作表.

        /// </summary>

        private Excel.Worksheet xlSheet = null;

 

 

 

        /// <summary>

        /// 打开 Excel.

        /// </summary>

        public void OpenExcel()

        {

            // 启动 Excel.

            xlApp = new Excel.ApplicationClass();

 

            // 可见/不可见.

            xlApp.Visible = false;

 

            xlApp.UserControl = true;

            xlApp.DisplayAlerts = true;   

        }

 

 

        /// <summary>

        /// 退出 Excel.

        /// </summary>

        public void CloseExcel()

        {

            xlApp.DisplayAlerts = false;

            xlApp.Workbooks.Close();

            xlApp.Quit();

        }

 

 

 

        /// <summary>

        /// 打开 Excel 文件.

        /// </summary>

        /// <param name="excelFile"></param>

        public void OpenExcelFile(String excelFile)

        {

            // 打开文件.

            xlBook = xlApp.Workbooks.Open(excelFile,

                        vk_update_links, vk_missing, vk_format, vk_password,

                        vk_write_res_password, vk_ignore_read_only_recommend, vk_origin,

                        vk_delimiter, vk_editable, vk_notify, vk_converter, vk_add_to_mru,

                        vk_local, vk_corrupt_load);

 

            // 取得第一个 Sheet.

            foreach (Excel.Worksheet displayWorksheet in xlBook.Sheets)

            {

                xlSheet = displayWorksheet;

                break;

            }

        }

 

        /// <summary>

        /// 保存 Excel 文件.

        /// </summary>

        public void SaveExcelFile()

        {

            xlBook.Save();

 

        }

 

        /// <summary>

        /// 另存为 Excel 文件.

        /// </summary>

        public void SaveAsExcelFile(String asFileName)

        {

            xlBook.SaveCopyAs(asFileName);

        }

 

 

        /// <summary>

        /// 关闭 Excel 文件.

        /// </summary>

        public void CloseExcelFile()

        {

            xlBook.Close(false, false, false);

        }

 

 

        /// <summary>

        /// 选择工作表.

        /// </summary>

        /// <param name="sheetName"></param>

        public void SelectSheet(String sheetName)

        {

            // 选择工作表.

            xlSheet = (Excel.Worksheet)xlBook.Sheets.get_Item(sheetName);

        }

 

 

        /// <summary>

        /// 取得单元格文本.

        /// </summary>

        /// <param name="row"></param>

        /// <param name="col"></param>

        /// <returns></returns>

        public String GetStringValue(int row, int col)

        {

            return xlSheet.get_Range(xlSheet.Cells[row, col], xlSheet.Cells[row, col]).Text.ToString().Trim();

        }

 

 

        /// <summary>

        /// 设置单元格文本./// </summary>

        /// <param name="row"></param>

        /// <param name="col"></param>

        /// <param name="value"></param>

        public void SetValue(int row, int col, String value)

        {

            // 取得范围.

            Excel.Range range = xlSheet.get_Range(xlSheet.Cells[row, col], xlSheet.Cells[row, col]);

            // 原有的数值.

            String oldValue = range.Text.ToString().Trim();

 

            // 设置数值.

            xlSheet.Cells[row, col] = value;

 

            // 修改背景色

            range.Interior.ColorIndex = 19;

            // 添加备注.

            range.AddComment("修改前数值:" + oldValue);

 

 

        }

 

 

 

 

 

 

 

        /// <summary>

        /// 设置指定单元格为 字符格式.

        /// </summary>

        /// <param name="row1"></param>

        /// <param name="col1"></param>

        /// <param name="row2"></param>

        /// <param name="col2"></param>

        public void SetTextFormat(int row1, int col1, int row2, int col2)

        {

            // 选择区域.

            Excel.Range myrange = xlSheet.get_Range(xlSheet.Cells[row1, col1], xlSheet.Cells[row2, col2]);

            // 文本格式

            myrange.NumberFormatLocal = "@";

        }

 

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值