mergedcellsrecord.cs

来自「Excel的操作,其中可以读取及写入Excel 文件」· CS 代码 · 共 63 行

CS
63
字号
using System;

using Microsoft.Fawvw.Components.NExcel.Biff;

namespace Microsoft.Fawvw.Components.NExcel.Read.Biff
{
	
	/// <summary> A merged cells record for a given sheet</summary>
	public class MergedCellsRecord:RecordData
	{
		/// <summary> Gets the ranges which have been merged in this sheet
		/// 
		/// </summary>
		/// <returns> the ranges of cells which have been merged
		/// </returns>
		virtual public Range[] Ranges
		{
			get
			{
				return ranges;
			}
			
		}
		/// <summary> The ranges of the cells merged on this sheet</summary>
		private Range[] ranges;
		
		/// <summary> Constructs this object from the raw data
		/// 
		/// </summary>
		/// <param name="t">the raw data
		/// </param>
		/// <param name="s">the sheet
		/// </param>
		internal MergedCellsRecord(Record t, Sheet s):base(t)
		{
			
			sbyte[] data = getRecord().Data;
			
			int numRanges = IntegerHelper.getInt(data[0], data[1]);
			
			ranges = new Range[numRanges];
			
			int pos = 2;
			int firstRow = 0;
			int lastRow = 0;
			int firstCol = 0;
			int lastCol = 0;
			
			for (int i = 0; i < numRanges; i++)
			{
				firstRow = IntegerHelper.getInt(data[pos], data[pos + 1]);
				lastRow = IntegerHelper.getInt(data[pos + 2], data[pos + 3]);
				firstCol = IntegerHelper.getInt(data[pos + 4], data[pos + 5]);
				lastCol = IntegerHelper.getInt(data[pos + 6], data[pos + 7]);
				
				ranges[i] = new SheetRangeImpl(s, firstCol, firstRow, lastCol, lastRow);
				
				pos += 8;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?