国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#基于NPOI生成具有精確列寬行高的Excel文件的方法

2020-01-24 02:24:00
字體:
供稿:網(wǎng)友

本文實例講述了C#基于NPOI生成具有精確列寬行高的Excel文件的方法,是非常具有實用價值的技巧分享給大家供大家參考。具體方法如下:。

一、前言

NPOI是操作Excel的神器,導(dǎo)出導(dǎo)入快如閃電,

但是SetColumnWidth函數(shù)個人感覺不會用,怎么弄都無法控制好,因為他是以字符數(shù)量去設(shè)置寬度,實際上Excel列寬還有個像素的概念,更難搞懂了。

//附帶SetColumnWidth的用法和注釋IWorkbook hssfworkbook = new HSSFWorkbook(); ISheet sheet1 = hssfworkbook.CreateSheet("Sheet1");  sheet1.SetColumnWidth(1, 100 * 256);  // 摘要://   Set the width (in units of 1/256th of a character width) The maximum column//   width for an individual cell is 255 characters. This value represents the //   number of characters that can be displayed in a cell that is formatted with //   the standard font. // // 參數(shù): //  columnIndex: //   the column to set (0-based) // //  width: //   the width in units of 1/256th of a character width 

注釋為英文,不過比較容易理解。

二、遇到的問題

那么如果你需要生成固定格式的Excel,要有精確的列寬和行高,要用于打印等特殊需求,又如何解決呢

三、解決方案

建立一個已經(jīng)設(shè)置好行高列寬的xls作為模板,在需要填充字符的地方隨便填充一點字符(避免NPOI任務(wù)該單元格是NULL),設(shè)置好字體等內(nèi)容,利用NPOI打開這個xls文件,對對應(yīng)的空格進行SetValue,然后保存文件,由于NPOI是對于文件流的操作而不是用Excel.exe去操作Excel,所以生成文件的效率極高,兩秒鐘不到可以生成一百個內(nèi)容不一單元格樣式一模一樣的Excel文件,NPOI不愧為操作xls的神器,這樣子可以省去大量的功夫,連字體大小字符居中還是靠右對齊、顏色都可以在模板設(shè)置好而無需通過NPOI設(shè)置,畢竟寫代碼設(shè)置單元格樣式感覺是挺麻煩的事情

四、結(jié)束語

此解決方案只適合需要輸出少量字符的情況,對于輸出字符數(shù)量不確定的情況,因為可能會填滿單元格導(dǎo)致列寬或者行高產(chǎn)生變化,從而影響了打印預(yù)覽等,對于這種情況由于沒測試所以不進行描述。

相信本文所述對大家C#程序設(shè)計的學(xué)習(xí)有一定的借鑒價值。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 塔河县| 铁岭县| 西充县| 嵊州市| 阳信县| 承德市| 美姑县| 宁夏| 公主岭市| 昆明市| 甘南县| 石楼县| 江源县| 绥滨县| 屏山县| 文登市| 海伦市| 绵阳市| 汉中市| 贺兰县| 察雅县| 焦作市| 榆中县| 长春市| 彭泽县| 炎陵县| 凯里市| 大庆市| 明光市| 宿州市| 英超| 马边| 香河县| 化州市| 延津县| 厦门市| 田东县| 芒康县| 黄龙县| 汉川市| 祁东县|