openXML设置Excel行组合
重要代码:
row = new DOS.Row()
{
RowIndex = new DOX.UInt32Value(rowIndex),
Spans = new DOX.ListValue<DOX.StringValue>(new DOX.ListValue<DOX.StringValue>()
{
InnerText = "1:2"
}),
DyDescent = new DOX.DoubleValue(0.2),
OutlineLevel = new DOX.ByteValue().Value = };
注意:如果多个行组合时,各组合之间的行不能连续,否则认为是一个行组合。如组合一的行为123,组合二的行为456,则认为是一个行组合,行为123456
完整代码:
/// <summary>
/// 行组
/// </summary>
/// <param name="fileName"></param>
/// <param name="sheetName"></param>
public static void CreateRowGroup(string fileName,string sheetName)
{
using(pkg.SpreadsheetDocument document=pkg.SpreadsheetDocument.Create(fileName, DOX.SpreadsheetDocumentType.Workbook))
{
pkg.WorkbookPart workbookPart = document.AddWorkbookPart();
DOS.Workbook workbook = workbookPart.Workbook = new DOS.Workbook(); pkg.SharedStringTablePart sharedStringTablePart = workbookPart.AddNewPart<pkg.SharedStringTablePart>(); pkg.WorksheetPart worksheetPart = workbookPart.AddNewPart<pkg.WorksheetPart>();
DOS.SheetData sheetData = new DOS.SheetData(); DOS.Worksheet worksheet = worksheetPart.Worksheet = new DOS.Worksheet(sheetData); DOS.Sheets sheets = document.WorkbookPart.Workbook.AppendChild<DOS.Sheets>(new DOS.Sheets()); DOS.Sheet sheet = new DOS.Sheet()
{
Id = workbookPart.GetIdOfPart(worksheetPart),
SheetId = ,
Name = sheetName
};
sheets.Append(sheet); DOS.Row row;
for(uint rowIndex=;rowIndex<;rowIndex++)
{
if(rowIndex % == )
{
row = new DOS.Row()
{
RowIndex = new DOX.UInt32Value(rowIndex)
};
}
else
{
row = new DOS.Row()
{
RowIndex = new DOX.UInt32Value(rowIndex),
Spans = new DOX.ListValue<DOX.StringValue>(new DOX.ListValue<DOX.StringValue>()
{
InnerText = "1:2"
}),
DyDescent = new DOX.DoubleValue(0.2),
OutlineLevel = new DOX.ByteValue().Value = };
} sheetData.Append(row); Random random = new Random((int)DateTime.Now.Ticks* (int)rowIndex);
string text = random.Next(,).ToString(); int textIndex = InsertSharedStringItem(text, sharedStringTablePart); DOS.Cell cell = new DOS.Cell()
{
CellReference = "A" + rowIndex.ToString(),
CellValue = new DOS.CellValue(textIndex.ToString())
};
cell.DataType = new DOX.EnumValue<DOS.CellValues>(DOS.CellValues.SharedString); row.AppendChild(cell); random = new Random((int)DateTime.Now.Ticks * (int)rowIndex);
text = random.Next(, ).ToString(); textIndex = InsertSharedStringItem(text, sharedStringTablePart); cell = new DOS.Cell()
{
CellReference = "B" + rowIndex.ToString(),
CellValue = new DOS.CellValue(textIndex.ToString())
};
cell.DataType = new DOX.EnumValue<DOS.CellValues>(DOS.CellValues.SharedString); row.AppendChild(cell);
} worksheet.Save();
//workbook.Save();
//document.Save(); }
}
运行后的结果图:

openXML设置Excel行组合的更多相关文章
- C#设置Excel行高、列宽
设置固定值 worksheet.Columns[1].ColumnWidth = 15; 设置自动换行 worksheet.Columns.WrapText = true; 设置自动行高.列宽 xlA ...
- openXML写Excel列组合
重要代码: DOS.SheetData sheetData = new DOS.SheetData(); DOS.Columns columns = new DOS.Columns(); DOS.Co ...
- C#_Excel数据读取与写入_自定义解析封装类_支持设置标题行位置&使用excel表达式收集数据&单元格映射&标题映射&模板文件的参数数据替换
本篇博客园是被任务所逼,而已有的使用nopi技术的文档技术经验又不支持我需要的应对各种复杂需求的苛刻要求,只能自己造轮子封装了,由于需要应对很多总类型的数据采集需求,因此有了本篇博客的代码封装,下面一 ...
- C# 设置Excel数据自适应行高、列宽的2种情况
Excel表格中,由于各种数据的复杂性,可能存在单元格中的数据字号大小.数据内容长度不一而出现,列宽过宽.过窄或者行高过大.过小的问题.常见的解决方法是调整行高.列宽.在Microsoft Excel ...
- 原创:如何实现在Excel通过循环语句设置指定行的格式
原创:如何实现在Excel通过循环语句设置指定行的格式 一.需求: 想让excel的某些行(比如3的倍数的行)字体变成5号字 如何整: 二.实现: Sub code() To Range(" ...
- Java 设置Excel自适应行高、列宽
在excel中,可通过设置自适应行高或列宽自动排版,是一种比较常用的快速调整表格整体布局的方法.设置自适应时,可考虑2种情况: 1.固定数据,设置行高.列宽自适应数据(常见的设置自适应方法) 2.固定 ...
- C#/VB.NET 如何在Excel中使用条件格式设置交替行颜色
说起高亮数据行,不让人想起了交替颜色行,有的人把交替颜色行也都设置成高亮,不仅不美观,而且对阅读还是个干扰.隔行交替的颜色是为了阅读不串行,这些行只是环境,数据才是主体.那么如何通过C#/VB.NET ...
- C# 设置Excel打印选项及打印excel文档
C# 设置Excel打印选项及打印excel文档 打印Excel文档是一个很常见的操作,但有时候我们会碰到各种不同的打印需求,例如只打印一个Excel工作表的其中一部分,或打印时每页都有表头,或把工作 ...
- POI中设置Excel单元格格式
引用:http://apps.hi.baidu.com/share/detail/17249059 POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWork ...
随机推荐
- 求1!+2!+3!+......+n!的和 -----C++-----
#include<iostream> using namespace std; int function(int x) { ; ;i<=x;i++) sum=sum*i; retur ...
- 云笔记项目-Spring事务学习-传播NEVER
接下来测试事务传播属性NEVER Service层 Service层中设置事务传播属性都为NEVER. LayerT层代码 package LayerT; import javax.annotatio ...
- webpack打包优化
https://www.cnblogs.com/vvjiang/p/9327903.html
- c#Socket Tcp服务端编程
创建一个socket服务类,绑定监听端口, 然后创建一个线程listen连接的客户端, 把监听到的客户端加入dictionary里面,以便于管理, 同时创建receive线程,循环接收数据加入list ...
- step_by_step_ABP规约模式
一段时间没有在github 上浏览ABP项目,几天前看到ABP新增规约模式,开始了解并学习文档 记录一下 Introduction 介绍 Specification pattern is a pa ...
- Docker registry垃圾回收
Docker registry垃圾回收 通过: docker run -p 5000:5000 -v /netdata/xxxx/registry:/var/lib/registry registry ...
- [translation]The rise of college ‘Grade Forgiveness’
Education 教育 The rise of college 'Grade Forgiveness' /*the rise of -的增加*/大学等级宽恕现象的增加. Universities a ...
- 使用Badboy录制Web脚本 JMeter运行jmx脚本
1.下载JDK 1.1 官网地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 在官网下载最新版本的JDK 1 ...
- c#: TextBox添加水印效果(PlaceHolderText)
基于他人代码修改,不闪,以做备忘. 与SendMessage EM_SETCUEBANNER消息相比,它能改变字体绘制颜色,EM_SETCUEBANNER只限定了DimGray颜色,太深 //与Sen ...
- Ubuntu 16.04 安装OpenCV 3.4.3
cmake过程中可能遇到的问题:1.如果网络不好,出现ippicv_linux_20151201.tgz无法在终端下载的情况,则可以先单独下载 ippicv_linux_20151201.tgz之后, ...