当前位置: 首页>>代码示例>>C#>>正文


C# ISheet.GetColumnWidth方法代码示例

本文整理汇总了C#中ISheet.GetColumnWidth方法的典型用法代码示例。如果您正苦于以下问题:C# ISheet.GetColumnWidth方法的具体用法?C# ISheet.GetColumnWidth怎么用?C# ISheet.GetColumnWidth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ISheet的用法示例。


在下文中一共展示了ISheet.GetColumnWidth方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FinalizeWorkSheet

        private void FinalizeWorkSheet(ISheet worksheet)
        {
            if (worksheet != null)
            {
                var hssfSheet = worksheet as HSSFSheet;

                if (hssfSheet != null)
                {
                    hssfSheet.SetAutoFilter(new CellRangeAddress(0, _rowIndex - 1, 0, _splitColumns.Length - 1));
                }

                ForEachColumn((i, f) =>
                    {
                        worksheet.AutoSizeColumn(i);
                        // Units are 256 per character.
                        // Maximum width is 255 characters.
                        var width = Math.Min(worksheet.GetColumnWidth(i) + 1024, 255 * 256);
                        worksheet.SetColumnWidth(i, width);
                    });
            }
        }
开发者ID:frankgit,项目名称:NChanges,代码行数:21,代码来源:ExcelCommand.cs

示例2: ReSizeColumnWidth

 /// <summary>
 /// 根据单元格内容重新设置列宽
 /// </summary>
 /// <param name="sheet"></param>
 /// <param name="cell"></param>
 public static void ReSizeColumnWidth(ISheet sheet, ICell cell)
 {
     int cellLength = (Encoding.Default.GetBytes(cell.ToString()).Length + 5) * 256;
     const int maxLength = 255 * 256;
     if (cellLength > maxLength)
     {
         cellLength = maxLength;
     }
     int colWidth = sheet.GetColumnWidth(cell.ColumnIndex);
     if (colWidth < cellLength)
     {
         sheet.SetColumnWidth(cell.ColumnIndex, cellLength);
     }
 }
开发者ID:chinawaycyc,项目名称:ExcelOperate,代码行数:19,代码来源:Common.cs

示例3: adjustcolum

    private void adjustcolum(ISheet sheet)
    {
        for (int columnNum = 0; columnNum < dcs.Count; columnNum++)
        {
            int columnWidth = sheet.GetColumnWidth(columnNum) / 256;//获取当前列宽度
            for (int rowNum = 1; rowNum <= sheet.LastRowNum; rowNum++)//在这一列上循环行
            {
                IRow currentRow = sheet.GetRow(rowNum);
                ICell currentCell = currentRow.GetCell(columnNum);

                int length = Encoding.UTF8.GetBytes(currentCell.ToString()).Length;//获取当前单元格的内容宽度
                if (columnWidth < length + 1)
                {
                    columnWidth = length + 1;
                }//若当前单元格内容宽度大于列宽,则调整列宽为当前单元格宽度,后面的+1是我人为的将宽度增加一个字符
            }
            sheet.SetColumnWidth(columnNum, columnWidth*256);
        }
    }
开发者ID:konglinghai123,项目名称:SAS,代码行数:19,代码来源:ExcelHelper.cs

示例4: AutoFitColumnWidth

        /// <summary>
        /// 自动适应列宽
        /// </summary>
        /// <param name="sheet">需要自适应列宽的sheet表</param>
        /// <param name="columnCount">列数</param>
        public void AutoFitColumnWidth(ISheet sheet, int columnCount)
        {
            //列宽自适应,只对英文和数字有效
            for (int ci = 0; ci < columnCount; ci++)
            {
                sheet.AutoSizeColumn(ci);
            }
            //获取当前列的宽度,然后对比本列的长度,取最大值
            for (int columnNum = 0; columnNum < columnCount; columnNum++)
            {
                int columnWidth = sheet.GetColumnWidth(columnNum) / 256;
                for (int rowNum = 0; rowNum < sheet.LastRowNum; rowNum++)
                {
                    if (rowNum == 0 || rowNum == sheet.LastRowNum - 1 || rowNum == sheet.LastRowNum / 2)
                    {
                        IRow currentRow;

                        //当前行未被使用过
                        if (sheet.GetRow(rowNum) == null)
                        {
                            currentRow = sheet.CreateRow(rowNum);
                        }
                        else
                        {
                            currentRow = sheet.GetRow(rowNum);
                        }

                        if (currentRow.GetCell(columnNum) != null)
                        {
                            ICell currentCell = currentRow.GetCell(columnNum);
                            int length = Encoding.Default.GetBytes(currentCell.ToString()).Length;
                            if (columnWidth < length)
                            {
                                columnWidth = length;
                            }
                        }
                    }
                }

                if (columnWidth > 255)
                {
                    columnWidth = 255;
                }

                sheet.SetColumnWidth(columnNum, columnWidth * 256);
            }
        }
开发者ID:bosima,项目名称:FireflySoft.Excel,代码行数:52,代码来源:NPOIOperator.cs

示例5: GetColumnWidth

 protected static int GetColumnWidth(ISheet sheet, int columnIndex)
 {
     return ExcelToHtmlUtils.GetColumnWidthInPx(sheet.GetColumnWidth(columnIndex));
 }
开发者ID:89sos98,项目名称:npoi,代码行数:4,代码来源:ExcelToHtmlConverter.cs

示例6: Verify

        /// <summary>
        /// 校验数据是否正常
        /// </summary>
        /// <param name="dt">数据集</param>
        /// <param name="outputStream">输出流</param>
        /// <param name="sheet">数据sheet</param>
        /// <param name="userInfo">用户信息</param>
        /// <param name="fileName">文件名称</param>
        /// <param name="DictColumnFields">英文字段名到中文列名映射关系</param>
        /// <returns>ImportResult</returns>
        public virtual ImportResult Verify(DataTable dt, ISheet sheet, Dictionary<string, object> extraInfo, UserInfo userInfo, string fileName, Dictionary<string, ImportVerify> DictColumnFields)
        {
            IWorkbook wb = sheet.Workbook;
            ImportResult result = new ImportResult();

            string[] arrErrorMsg = null;
            string errorMsg = string.Empty;
            int columnCount = dt.Columns.Count;
            string columnName = string.Empty;
            ImportVerify objVerify = null;
            ImportVerifyParam objVerifyParam = new ImportVerifyParam { DTExcel = dt, CellValue = null, ColName = columnName, ColumnIndex = 0, RowIndex = 0 };
            DataRow row = null;
            object objExtra = null;
            bool isCorrect = true;

            //错误数据行样式
            var cellErrorStyle = NPOIHelper.GetErrorCellStyle(wb);
            ICell errorCell = null;
            IRow sheetRow = null;

            for (int i = 0, rLength = dt.Rows.Count; i < rLength; i++)
            {
                row = dt.Rows[i];
                arrErrorMsg = new string[columnCount];
                for (int j = 0; j < columnCount; j++)
                {
                    columnName = dt.Columns[j].ColumnName;
                    if (DictColumnFields.TryGetValue(columnName, out objVerify))
                    {
                        if (objVerify.VerifyFunc != null)
                        {
                            objVerifyParam.CellValue = row[j];
                            objVerifyParam.ColumnIndex = j;
                            objVerifyParam.RowIndex = i;
                            objVerifyParam.ColName = objVerify.ColumnName;
                            if (extraInfo != null)
                            {
                                extraInfo.TryGetValue(columnName, out objExtra);
                            }
                            arrErrorMsg[j] = objVerify.VerifyFunc(objVerifyParam, objExtra);
                        }
                    }
                }
                errorMsg = string.Join(",", arrErrorMsg.Where(e => !string.IsNullOrEmpty(e)));
                if (!string.IsNullOrEmpty(errorMsg))
                {
                    isCorrect = false;
                    //设置错误信息
                    sheetRow = sheet.GetRow(StartRowIndex + 1 + i);
                    errorCell = sheetRow.GetCell(columnCount);
                    if (errorCell == null)
                    {
                        errorCell = sheetRow.CreateCell(columnCount);
                    }
                    errorCell.CellStyle = cellErrorStyle;
                    errorCell.SetCellValue(errorMsg);
                }
            }

            //输出错误信息模版
            if (!isCorrect)
            {
                sheetRow = sheet.GetRow(StartRowIndex);
                errorCell = sheetRow.GetCell(columnCount);
                if (errorCell == null)
                {
                    errorCell = sheetRow.CreateCell(columnCount);
                }
                ICellStyle copyStyle = sheetRow.GetCell(columnCount - 1).CellStyle;
                ICellStyle style = NPOIHelper.GetErrorHeadCellStyle(wb);
                IFont font = style.GetFont(wb);
                IFont copyfont = copyStyle.GetFont(wb);
                font.FontHeight = copyfont.FontHeight;
                font.FontName = copyfont.FontName;
                style.FillForegroundColor = copyStyle.FillForegroundColor;
                style.BorderBottom = copyStyle.BorderBottom;
                style.BorderLeft = copyStyle.BorderLeft;
                style.BorderRight = copyStyle.BorderRight;
                style.BorderTop = copyStyle.BorderTop;
                errorCell.CellStyle = style;
                errorCell.SetCellValue("错误信息");

                //自适应列宽度
                sheet.AutoSizeColumn(columnCount);
                int width = sheet.GetColumnWidth(columnCount) + 2560;
                sheet.SetColumnWidth(columnCount, width > NPOIHelper.MAX_COLUMN_WIDTH ? NPOIHelper.MAX_COLUMN_WIDTH : width);

                result.Message = ExcelImportHelper.GetErrorExcel(wb, fileName);
            }
            else
//.........这里部分代码省略.........
开发者ID:CrazyJson,项目名称:TaskManager,代码行数:101,代码来源:ExcelImport.cs

示例7: AutoSizeColumn

 private void AutoSizeColumn(ISheet sheet, int columnNum)
 {
     int columnWidth = sheet.GetColumnWidth(columnNum) / 256;
     for (int rowNum = 1; rowNum <= sheet.LastRowNum; rowNum++)
     {
         IRow currentRow = sheet.GetRow(rowNum) == null ?
             sheet.CreateRow(rowNum) : sheet.GetRow(rowNum);
         if (currentRow.GetCell(columnNum) != null)
         {
             ICell currentCell = currentRow.GetCell(columnNum);
             int length = System.Text.Encoding.Default.GetBytes(currentCell.ToString()).Length;
             if (columnWidth < length)
                 columnWidth = length;
         }
     }
     sheet.SetColumnWidth(columnNum, columnWidth * 256);
 }
开发者ID:yonglehou,项目名称:ToolRepository,代码行数:17,代码来源:OfficeHelper.cs


注:本文中的ISheet.GetColumnWidth方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。