1. 程式人生 > >FarPoint.Win.Spread 常規操作

FarPoint.Win.Spread 常規操作

font trac () factor zoom spa vertica leading complex

FarPoint.Win.Spread.FpSpread fSpread = new FarPoint.Win.Spread.FpSpread();
//設置 行數、列數
fSpread.ActiveSheet.Rows.Count = 90;
fSpread.ActiveSheet.Columns.Count = 10;

//獲取行索引 列索引
int rowIndex = fSpread.ActiveSheet.ActiveRowIndex;
int colIndex = fSpread.ActiveSheet.ActiveColumnIndex;

//追加行 追加列

fSpread.ActiveSheet.Rows.Add(rowIndex,1);

fSpread.ActiveSheet.Columns.Add(colIndex,1);

//指定單元格獲取焦點
fSpread.ActiveSheet.SetActiveCell(rowIndex, colIndex);

//隱藏列標題和序號
fSpread.ActiveSheet.ColumnHeader.Visible = false;
fSpread.ActiveSheet.RowHeaderVisible = false;
fSpread.ActiveSheet.RowHeaderColumnCount = 0;
fSpread.ActiveSheet.ColumnHeaderRowCount = 0;

//不顯示網格線
//方法一、屬性:
//GridShowHoriz = false;
//GridShowHoriz = false;
//方法二
fSpread.ActiveSheet.HorizontalGridLine = new FarPoint.Win.Spread.GridLine(FarPoint.Win.Spread.GridLineType.None);
fSpread.ActiveSheet.VerticalGridLine = new FarPoint.Win.Spread.GridLine(FarPoint.Win.Spread.GridLineType.None);

//不可編輯
fSpread.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly;
/*
編輯模式
0 - Normal 默認的表單操作都是可用的

1 - ReadOnly 僅僅讀的

2 - RowMode 用戶能夠選擇表單中的一行。而且能夠通過雙擊來編輯該行任一單獨的單元格

3 - SingleSelect 用戶僅能選擇一行,而且不能編輯不論什麽的單元格

4 - MultiSelect 用戶僅能選擇多個連續行,可是不能編輯不論什麽一個單元格

5 - ExtendedSelect 用戶僅能選擇多個非連續行,可是不能編輯不論什麽一個單元格*/

//滾動欄(水平、垂直) 顯示方式
// Always 依據情況超出顯示範圍 顯示滾動欄
// AsNeeded 一直顯示
// Never 從不顯示
fSpread.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;
fSpread.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;

//左右居中
fSpread.ActiveSheet.Cells[0, 0].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
//上下居中
fSpread.ActiveSheet.Cells[0, 0].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;

//單元格邊框設置
//邊 的類型
FarPoint.Win.ComplexBorderSide cBorderSide = new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThinLine);
//邊框
FarPoint.Win.ComplexBorder cBorder = new FarPoint.Win.ComplexBorder(cBorderSide, cBorderSide, cBorderSide, cBorderSide);
fSpread.ActiveSheet.Cells[0, 0].Border = cBorder;

//單元格 類型 比如:金額列 有千分位分隔符、兩位小數
FarPoint.Win.Spread.CellType.NumberCellType nct = new FarPoint.Win.Spread.CellType.NumberCellType();
nct.ShowSeparator = true;//分隔符
nct.DecimalPlaces = 2;//小數位數
nct.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.UseRegional;
fSpread.ActiveSheet.Cells[0, 0].CellType = nct;

//設置字體
fSpread.ActiveSheet.Cells[0, 0, 10, 10].Font = new System.Drawing.Font(fSpread.Font.Name, 10);
fSpread.ActiveSheet.Cells[0, 0, 10, 10].Font = new System.Drawing.Font("Gerorgia", 10);

//刪除行 從索引為6開始刪除2行
fSpread.ActiveSheet.Rows.Remove(6, 2);
//刪除列 從索引為3開始刪除1列
fSpread.ActiveSheet.Columns.Remove(3, 1);

//賦值
fSpread.ActiveSheet.Cells[0, 0].Value = "賦值";

//合並行 占3列2行
fSpread.ActiveSheet.Cells[0, 0].ColumnSpan = 3;
fSpread.ActiveSheet.Cells[0, 0].RowSpan = 2;

//打印時 左右上下邊距
fSpread.ActiveSheet.PrintInfo.Margin.Left = 20;
fSpread.ActiveSheet.PrintInfo.Margin.Right = 20;
fSpread.ActiveSheet.PrintInfo.Margin.Top = 20;
fSpread.ActiveSheet.PrintInfo.Margin.Bottom = 0;

//打印時 紙張方向為橫向
fSpread.ActiveSheet.PrintInfo.Orientation = FarPoint.Win.Spread.PrintOrientation.Landscape;
//縱向
fSpread.ActiveSheet.PrintInfo.Orientation=FarPoint.Win.Spread.PrintOrientation.Portrait;

//縮放比例
fSpread.ActiveSheet.PrintInfo.ZoomFactor = 50/100;

//紙張類型

SetPaperSize(fSpread,"A4");

/// <summary>
/// 設置紙張類型
/// </summary>
/// <param name="fspread"></param>
/// <param name="PaperName">紙張類型名稱 例:A3,A4</param>
private void SetPaperSize(FarPoint.Win.Spread.FpSpread fspread,string PaperName)
{
System.Drawing.Printing.PrintDocument pdocumnet = new System.Drawing.Printing.PrintDocument();
System.Drawing.Printing.PrinterSettings.PaperSizeCollection ps = pdocumnet.PrinterSettings.PaperSizes;
foreach (System.Drawing.Printing.PaperSize p in ps)
{
if (p.PaperName.Equals(PaperName))
{
fspread.ActiveSheet.PrintInfo.PaperSize = p;
return;
}
}
}

//列寬自適應

FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer ecr = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
ecr.WordWrap = false;
fSpread.Sheets[0].ColumnHeader.Columns[0].Renderer = ecr;
this.fSpread.Sheets[0].DataAutoSizeColumns = true;
this.fSpread.Sheets[0].Columns[0].Width = this.fSpread.Sheets[0].Columns[0].GetPreferredWidth();

FarPoint.Win.Spread 常規操作