FarPoint.Win.Spread 常規操作


            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();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM