欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2014年09月20日 13:56:15   投稿:shichen2014  
這篇文章主要介紹了C#基于NPOI生成具有精確列寬行高的Excel文件的方法,是C#項(xiàng)目開發(fā)中非常實(shí)用的技巧,需要的朋友可以參考下

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

一、前言

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

但是SetColumnWidth函數(shù)個(gè)人感覺不會(huì)用,怎么弄都無法控制好,因?yàn)樗且宰址麛?shù)量去設(shè)置寬度,實(shí)際上Excel列寬還有個(gè)像素的概念,更難搞懂了。

//附帶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,要有精確的列寬和行高,要用于打印等特殊需求,又如何解決呢

三、解決方案

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

四、結(jié)束語

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

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

相關(guān)文章

  • C#窗體間通訊的幾種常用處理方法總結(jié)

    C#窗體間通訊的幾種常用處理方法總結(jié)

    這篇文章主要介紹了C#窗體間通訊的幾種常用處理方法總結(jié),有很好的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-08-08
  • 使用C#實(shí)現(xiàn)簡單的線性回歸的代碼詳解

    使用C#實(shí)現(xiàn)簡單的線性回歸的代碼詳解

    最近注意到了NumSharp,想學(xué)習(xí)一下,最好的學(xué)習(xí)方式就是去實(shí)踐,因此從github上找了一個(gè)用python實(shí)現(xiàn)的簡單線性回歸代碼,然后基于NumSharp用C#進(jìn)行了改寫,需要的朋友可以參考下
    2024-01-01
  • C#控件Picturebox實(shí)現(xiàn)鼠標(biāo)拖拽功能

    C#控件Picturebox實(shí)現(xiàn)鼠標(biāo)拖拽功能

    這篇文章主要為大家詳細(xì)介紹了C#控件Picturebox實(shí)現(xiàn)鼠標(biāo)拖拽功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Unity擴(kuò)展Hierachry的右鍵菜單

    Unity擴(kuò)展Hierachry的右鍵菜單

    這篇文章主要為大家詳細(xì)介紹了Unity擴(kuò)展Hierachry的右鍵菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#?泛型集合類List<T>使用總結(jié)

    C#?泛型集合類List<T>使用總結(jié)

    本文主要主要介紹了C#?泛型集合類List<T>使用總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-05-05
  • 圖文詳解C#中的協(xié)變與逆變

    圖文詳解C#中的協(xié)變與逆變

    “協(xié)變”是指能夠使用與原始指定的派生類型相比,派生程度更大的類型,“逆變”則是指能夠使用派生程度更小的類型,這篇文章主要給大家介紹了關(guān)于C#中協(xié)變與逆變的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • 在unity腳本中控制Inspector面板的參數(shù)操作

    在unity腳本中控制Inspector面板的參數(shù)操作

    這篇文章主要介紹了在unity腳本中控制Inspector面板的參數(shù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • C# 遞歸算法詳解

    C# 遞歸算法詳解

    什么是遞歸函數(shù)/方法?任何一個(gè)方法既可以調(diào)用其他方法也可以調(diào)用自己,而當(dāng)這個(gè)方法調(diào)用自己時(shí),我們就叫它遞歸函數(shù)或遞歸算法,接下來詳細(xì)介紹需要了解的朋友可以參考下
    2021-11-11
  • c#實(shí)現(xiàn)爬蟲程序

    c#實(shí)現(xiàn)爬蟲程序

    這篇文章介紹了c#實(shí)現(xiàn)爬蟲程序的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#深度優(yōu)先搜索算法

    C#深度優(yōu)先搜索算法

    這篇文章主要介紹了C#深度優(yōu)先搜索算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評(píng)論