C#中操作Excel单元格合并
来源:互联网 发布:ipad翻墙软件 编辑:程序博客网 时间:2024/05/21 03:18
这里主要是对于一个已知的EXCEL进行合并里面的单元格的方法
string savePath="C:\\Users\\Administrator\\Desktop\\xxx.xls";//excel的路径
Microsoft.Office.Interop.Excel.Application xlApp = null;//Execl的操作类
Microsoft.Office.Interop.Excel.Workbook myWorkbook = null;//打开已有的工作簿
try
{
xlApp = new Microsoft.Office.Interop.Excel.Application();
myWorkbook = xlApp.Workbooks.Open(savePath);
Microsoft.Office.Interop.Excel.Worksheet mySheet = myWorkbook.ActiveSheet;//获取工作表
int excelCount = mySheet.UsedRange.CurrentRegion.Rows.Count;//获得记录的行数
MergeCell(ref mySheet, 1, excelCount, "A");//合并单元格
MergeCell(ref mySheet, 1, excelCount, "B");//合并单元格
//设置禁止弹出保存和覆盖的询问提示框
xlApp.DisplayAlerts = false;
xlApp.AlertBeforeOverwriting = false;
//保存所做的修改
xlApp.SaveWorkspace();
}
catch (Exception ex)
{
//异常时,处理代码
}
finally
{
if (xlApp!=null)
xlApp.Quit();//退出Excel
xlApp = null;
}
/// <summary>
/// 合并指定EXCEL的单元格
/// </summary>
/// <param name="mySheet">指定的EXCEL工作表</param>
/// <param name="startLine">起始行</param>
/// <param name="recCount">总行数</param>
/// <param name="col">要合并的列</param>
private void MergeCell(ref Microsoft.Office.Interop.Excel.Worksheet mySheet, int startLine, int recCount, string col)
{
//获得起始行合并列单元格的填充内容
string qy1 = mySheet.get_Range(col + startLine.ToString(), col + startLine.ToString()).Text.ToString();
Microsoft.Office.Interop.Excel.Range rg1;
string strtemp = "";
bool endCycle = false;
//从起始行到终止行做循环
for (int i = startLine; i <= recCount + startLine - 1&&!endCycle; )
{
for (int j = i + 1; j <= recCount + startLine - 1; j++)
{
rg1 = mySheet.get_Range(col + j.ToString(), col + j.ToString());//获得下一行的填充内容
strtemp = rg1.Text.ToString().Trim();
//最后一行时,标记循环结束
if (j == recCount + startLine - 1)
endCycle = true;
if (strtemp.Trim()==qy1.Trim() )//内容等于初始内容
{
rg1 = mySheet.get_Range(col + i.ToString(), col + j.ToString());//选取上条合并位置和当前行的合并区域
rg1.ClearContents();//清空要合并的区域
rg1.MergeCells = true;
if (col == "A")
mySheet.Cells[i, 1] = qy1;
else if (col == "B")
mySheet.Cells[i, 2] = qy1;
}
else//内容不等于初始内容
{
i = j;//i获取新值
qy1 = mySheet.get_Range(col + j.ToString(), col + j.ToString()).Text.ToString();
break;
}
}
}
}
- C#中操作Excel单元格合并
- C#中Excel单元格合并
- C#读取Excel中合并单元格解决办法
- C#合并Excel单元格
- C#合并excel单元格,操作合并后的单元格 (winform导出excel)
- C#读取EXCEL合并单元格
- jxl 操作Excel 中 单元格合并,颜色设定等方法
- jxl 操作Excel 中 单元格合并,颜色设定等方法
- C# Excel 设置行高,列宽,合并单元格,单元格边框线,冻结 c#操作excel大全
- C#导出Excel,并且设置Excel单元格格式,合并单元格.
- C#导出Excel,并且设置Excel单元格格式,合并单元格.
- C#导出Excel,并且设置Excel单元格格式,合并单元格.
- C# 操作Excel单元格格式
- C# 操作Excel单元格格式
- C# 操作Excel单元格格式
- C# 操作Excel单元格格式
- C# 操作Excel单元格格式
- c# 操作Excel单元格属性
- 通过过滤器选择对象
- php类属性成员和方法重载
- posgresql postgres_fdw使用
- lua 匹配
- css !important用法以及CSS样式使用优先级判断
- C#中操作Excel单元格合并
- 数据库中空字符串和NULL值两个概念的区别
- HttpOnly介绍以及防止XSS攻击时的作用(转)
- 埋头苦干
- 黑马程序员-Java获取时间与math函数库
- Linux vmstat命令实战详解
- java 对map中的 value 排序
- PHP计算2点经纬度之间的距离代码
- java学习之MVC模型(二)