1. 程式人生 > >NPOI跨Sheet複製(含格式、字型、合併區域)

NPOI跨Sheet複製(含格式、字型、合併區域)

之前做NPOI,也是受了不少苦。網上的那些攻略啊,祕籍啊,寶典啊,naive!
搞了半天,又是吹的天花亂墜(究竟是不是某國特色)

P話不說上虛擬碼(實際程式碼由於某些原因,不便展示//其實我懶得改)

VB.Net,簡單的來講,這就是個
c=a;//譚浩強Code Style

a=b;

b=c;//SpeedWagon Withdrawl Cooly(JOJO梗)

Fuck_SandSculpture(Src_Sheet,Dest_Sheet)//大體就是這樣了,程式碼看得懂看不懂無所謂,主要是思路
{
Dim tempRow As IRow
Dim style as ICellStyle
For i = 需要開始拷貝的行 To Src_Sheet.LastRowNum  ''表尾'Src_SheetMergerCount->Src_Sheet.LastRowNum
                    If Src_Sheet.GetRow(i) Is Nothing Then : tempRow = Src_Sheet.CreateRow(i)
                    Else : tempRow = Src_Sheet.GetRow(i) : End If
                    Dest_Sheet.CreateRow(Dest_Sheet.LastRowNum + 1).Height = tempRow.Height
                    For j = 0 To Src_SheetMergerCount
                        If Not tempRow.GetCell(j) Is Nothing Then
                            style = tempRow.GetCell(j).CellStyle
                            style = Style_OutLine(style)
                            CopyCell(Dest_Sheet, Src_Sheet, tempRow, style, Dest_Sheet.LastRowNum, j)
'以下為CopyCell()內容
        'If Dest_Sheet.GetRow(i).GetCell(j) Is Nothing Then
        '    Select Case temprow.GetCell(j).CellType
        '        Case CellType.STRING
        '            Dest_Sheet.GetRow(i).CreateCell(j).SetCellValue(temprow.GetCell(j).StringCellValue)
        '            Dest_Sheet.GetRow(i).GetCell(j).CellStyle = Style
        '        Case CellType.NUMERIC
        '            Dest_Sheet.GetRow(i).CreateCell(j).SetCellValue(temprow.GetCell(j).NumericCellValue) '''日期也屬於Numeric,然而17-三月-09會變成3xxxx的數字
        '            Dest_Sheet.GetRow(i).GetCell(j).CellStyle = Style
        '        Case CellType.FORMULA
        '            Dest_Sheet.GetRow(i).CreateCell(j).SetCellValue("")
        '            Dest_Sheet.GetRow(i).GetCell(j).CellStyle = Style
        '        Case CellType.BOOLEAN
        '            Dest_Sheet.GetRow(i).CreateCell(j).SetCellValue(temprow.GetCell(j).BooleanCellValue)
        '            Dest_Sheet.GetRow(i).GetCell(j).CellStyle = Style
        '        Case CellType.BLANK
        '            Dest_Sheet.GetRow(i).CreateCell(j)
        '            Dest_Sheet.GetRow(i).GetCell(j).CellStyle = Style
        '        Case CellType.Unknown
        '            Dest_Sheet.GetRow(i).CreateCell(j)
        '            Dest_Sheet.GetRow(i).GetCell(j).CellStyle = Style
        '    End Select
        'End If
                        Else : Dest_Sheet.GetRow(Dest_Sheet.LastRowNum).CreateCell(j) : End If
                    Next
                    If i = Bill.BillRow - 1 Then
                        Dest_Sheet.GetRow(Dest_Sheet.LastRowNum).CreateCell(Bill.BillCol).SetCellValue(ListTKCount.Money)
                        Dest_Sheet.GetRow(Dest_Sheet.LastRowNum).GetCell(Bill.BillCol).CellStyle = style
                    End If
                Next

For i = 0 To Src_Sheet.NumMergedRegions - 1 ''合併單元格區域
                    range = Src_Sheet.GetMergedRegion(i)
                    If range.LastRow <= Insert_Pos - 2 Then : Dest_Sheet.AddMergedRegion(range)//這個if判斷是我用來插入表尾的,請忽視它
                    ElseIf range.FirstRow > Insert_Pos - 2 Then
                        Dest_Sheet.AddMergedRegion(New CellRangeAddress(range.FirstRow + distance, range.LastRow + distance, range.FirstColumn, range.LastColumn))'''這裡的Distance呢,全看個人喜好,有些人喜歡0,有些人喜歡1,2,3,4……
                    End If
                Next
}


總體來講就是

1.Src_Sheet.Row(i)->temprow->Dest_Sheet.CreatRow(Dest_Sheet.LastRowNum+1)

2.設定Style

3.複製合併單元格區域

相關推薦

NPOISheet複製(格式字型合併區域)

之前做NPOI,也是受了不少苦。網上的那些攻略啊,祕籍啊,寶典啊,naive! 搞了半天,又是吹的天花亂墜(究竟是不是某國特色)P話不說上虛擬碼(實際程式碼由於某些原因,不便展示//其實我懶得改) VB.Net,簡單的來講,這就是個 c=a;//譚浩強Code Style

Java將資料按列寫入Excel並設定格式字型背景色自動列寬對齊方式等)

本文使用jxl.jar工具類庫將資料按列寫入Excel並設定格式(字型、背景色、自動列寬、對齊方式等)。 /** * 按列寫入Excel並設定格式 * * @param outputUrl * 輸出路徑 * @par

Android-FloatingActionButton基本使用字型顏色

這裡主要講: FloatingActionsMenu自定義樣式以及title調整 FloatingActionButton的基本方法 看一下效果圖: 這裡使用的是:com.getbase.floatingactionbutton.FloatingActionsMenu

CSDN-markdown語法——縮排圖片居中字型字號與顏色

Markdown是一種可以使用普通文字編輯器編寫的標記語言,通過類似HTML的標記語法,它可以使普通文字內容具有一定的格式。但是它本身是不支援修改字型、字號與顏色等功能的!   CSDN-markdown編輯器是其衍生版本,擴充套件了Markdown的功能(如表格、腳註

jupyter notebook 修改主題字型字號等

jupyter notebook 是個好東西,但是預設面板實在是看得人難受,最不能忍的是字號太小。感謝GitHub大神,提供了這款主題更改工具,網上很多人介紹了更換主題的方法。我還做了一些字號、字型等修改,現在舒服多了。安裝此工具:pip install --upgrade

IntelliJ IDEA 主題字型編輯區主題檔案編碼修改

主題修改 上圖標註 1 所示為 IntelliJ IDEA 修改主題的地方,在 Windows 系統上 IntelliJ IDEA 預設提供的主題有四套:Darcula、IntelliJ、Windows、Alloy. IDEA Theme。除了 Darcula 是黑色主題

android studio設定主題護眼色字型Logcat前景色背景色建立類時,新增作者名和日期等

1、設定主題 按快捷鍵Ctrl+Alt+s,開啟settings視窗。再選擇Apprearance,選擇自己喜歡的主題,預設兩款,一個白,一個黑。我選擇的是白色預設。如圖: 2、設定護眼色  護眼

CSDN-Markdown語法--縮排圖片居中字型字號

導語 Markdown是一種可以使用普通文字編輯器編寫的標記語言,通過類似HTML的標記語法,它可以使普通文字內容具有一定的格式。但是它本身是不支援修改字型、字號與顏色等功能的!CSDN-Markdown編輯器是其衍生版本,擴充套件了Markdown的功

Vue Quill Editor自定義圖片/視訊上傳(Element UI + OSS)字型字型大小段落等

  近期專案中需要使用富文字編輯器,開始想到的富文字編輯器是百度的UEditor,UEditor功能齊全、外掛多,但是圖片只能上傳到本地伺服器,如果需要上傳到其他伺服器需要改動原始碼,而且是PHP、JSP、ASP、.Net版本,同時UEditor體積過大壓縮包有

為什麼我的echarts字型樣式這麼醜?Echarts 柱狀圖餅圖 等標籤字型樣式調整

   在專案組做了兩個月的echarts,曾經小白的我現在對echarts的使用也算是得心應手,現將個人這段時間的個人筆記奉上,供大家品鑑、參考! 1、option下調圖形顏色,加: color: ['#ffd285','#ec4863', '#ff733f','#3AA

MFC中設定static text控制元件的背景色字型字號和顏色

在實際的應用中,可以用WM_CTLCOLOR 訊息改變mfc中控制元件的顏色,比如現在就來改變一個static text控制元件的 字型、字型大小、字型顏色和背景色。 例如對話方塊的類為CTestDlg. 1. 在對話方塊的類中新增兩個變數. 方法:在classview選項卡中,選擇CTestDlg,右鍵,

MFC中設定Label控制元件的背景色字型字號和顏色

實際的應用中,可以用WM_CTLCOLOR 訊息改變mfc中控制元件的顏色,比如現在就來改變一個static text控制元件的 字型、字型大小、字型顏色和背景色。 例如對話方塊的類為CTest

MFC 可以設定背景色字型字型顏色透明背景的 Static 靜態文字控制元件

MFC庫裡沒有符合這個條件的控制元件,於是我自己寫了一個,初步測試有效。 注:可以設定透明背景,但還不能做到透明度設定(如50%透明度)         如果設定了背景色,就不保留透明背景         預設背景色是透明的 // 設定背景色(若clr為CLR_NONE

LaTeX常用操作:新增標題作者時間摘要標題段落目錄字型引用腳註圖片\表格插入數學符號公式交叉引用等

前言 這裡就當作一個小案例進行介紹,案例需求 環境:win10系統; 編譯軟體:TexLive2018。 選擇XeLaTeX進行編譯的,如果第一次編譯報錯,再進行一次編譯即可。程式的原始檔及材料已放在百度雲中:連結:https://pan.baidu.com/s

bat批處理修改cmd視窗大小標題字型背景顏色

通過批處理Bat,可修改cmd視窗標題、大小、字型及背景顏色等,下面逐一為你介紹。 下面的方法,可在cmd視窗中直接輸入程式碼命令,也可以將程式碼命令寫入bat檔案中使用。 ===============================================

Javascript動態調整文章的行距字型顏色,及列印頁面和關閉視窗功能

<divid="nnxw">去年創辦的朱家角水鄉世界音樂節以“公益”為特色,引進了大部分中國觀眾還頗為陌生的“世界音樂”概念。去年共有15個國家和地區的100多名歌手和樂手聚集在朱家角,短短的5天時間裡演出30多場,大量的戶外免費演出吸引了數萬 觀眾,使得“水鄉世界音樂節”成了一個民眾的音樂狂歡節

VIM vim/vi的檔案內檔案複製貼上操作替換操作

https://www.cnblogs.com/shengulong/p/6702868.html vi/vim 中可以使用 :s 命令來替換字串 1、s/vivian/sky/ 替換當前行第一個 vivian 為 sky 2、:s/vivian/sky/g 替換當前行所有 vivian 為 sky

notebook字型顏色格式的改變

notebook字型、顏色格式的改變 找到Anacondax下的這個路徑 /lib/site-packages/notebook/static/custom/: 插入以下程式碼 : .CodeMirror pre {font-family: Consolas; font-siz

NPOI設定格式文字小數百分比貨幣日期科學計數法和中文大寫

HSSFWorkbook demoWorkBook = new HSSFWorkbook(); HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 50

python複製word全部內容,包括圖片文字格式

import win32com.client app=win32com.client.Dispatch('Word.Application') doc=app.Documents.Ope