.Net 匯出到 Excel 利用 NPOI 變更字體尺寸及樣式

利用 NPOI 變更字體尺寸及樣式:

HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("工作表名稱");
HSSFRow Row = (HSSFRow)sheet.CreateRow(0);
Row.CreateCell(0).SetCellValue("測試文字");
HSSFCellStyle cs = (HSSFCellStyle)workbook.CreateCellStyle();
//啟動多行文字
cs.WrapText = true;
//文字置中
cs.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER;
cs.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER;
//框線樣式及顏色
cs.BorderBottom = NPOI.SS.UserModel.BorderStyle.DOUBLE;
cs.BorderLeft = NPOI.SS.UserModel.BorderStyle.THIN;
cs.BorderRight = NPOI.SS.UserModel.BorderStyle.THIN;
cs.BorderTop = NPOI.SS.UserModel.BorderStyle.THIN;
cs.BottomBorderColor = NPOI.HSSF.Util.HSSFColor.GREY_50_PERCENT.index;
cs.LeftBorderColor = NPOI.HSSF.Util.HSSFColor.GREY_50_PERCENT.index;
cs.RightBorderColor = NPOI.HSSF.Util.HSSFColor.GREY_50_PERCENT.index;
cs.TopBorderColor = NPOI.HSSF.Util.HSSFColor.GREY_50_PERCENT.index;
//背景顏色
cs.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.GREY_25_PERCENT.index;
cs.FillPattern = NPOI.SS.UserModel.FillPatternType.SOLID_FOREGROUND;

HSSFFont font1 = (HSSFFont)workbook.CreateFont();
//字體顏色
font1.Color = NPOI.HSSF.Util.HSSFColor.DARK_BLUE.index;
//字體粗體
font1.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.BOLD;
//字體尺寸
font1.FontHeightInPoints = 25;

cs.SetFont(font1);
Row.GetCell(0).CellStyle = cs;

//欄位寬度
sheet.SetColumnWidth(column.Ordinal, 5000);

  2012-05-10      ez      .NET
.Net 將 DataSet 匯出到 Excel 利用 NPOI

利用 NPOI 即可將 DataSet 匯出到 Excel 檔案。

官方網站:http://npoi.codeplex.com/

本地DLL下載:NPOI v1.25 .NET3.5 (已修改版可以超過4000條style限制)

程式碼範例:

            DataSet DS = new DataSet();
            HSSFWorkbook workbook = new HSSFWorkbook();
            HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("工作表名稱");
            //顯示 Table 0 的所有欄位名稱
            HSSFRow headerRow = (HSSFRow)sheet.CreateRow(0);
            foreach (DataColumn column in DS.Tables[0].Columns)
            {
                headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
            }
            //顯示 所有資料列
            int rowIndex = 1;
            foreach (DataRow row in DS.Tables[0].Rows)
            {
                HSSFRow dataRow = (HSSFRow)sheet.CreateRow(rowIndex);
                foreach (DataColumn column in DS.Tables[0].Columns)
                {
                    dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
                }
                dataRow = null;
                rowIndex++;
            }

            Response.Clear();

            // 產生 Excel 資料流
            MemoryStream ms = new MemoryStream();
            workbook.Write(ms);
            headerRow = null;
            sheet = null;
            workbook = null;

            // 設定強制下載標頭
            Response.AddHeader("Content-Disposition", string.Format("attachment; filename=Download.xls"));
            // 輸出檔案
            Response.BinaryWrite(ms.ToArray());
            ms.Close();
            ms.Dispose();
            Response.End();

  2012-05-10      ez      .NET
無法自動斷行

今天在調整一個某部落格的CSS,輸入了一堆TESTTESTTESTTESTTEST…… 居然…… 出現無法斷行的狀況,天啊~這怎麼可能   Σ(;゚д゚) Σ(;゚д゚) 在慌張許久之後,找了位同事出手相救,只見她淡定平靜地跟我說

輸入全形文字或因為某些符號就有可能發生這種狀況,不過一般來說是不用特定處理斷行。如果發生這個狀況,只要輸入CSS的斷行指令強制斷行就可以

[斷行的語法] 自動換行要在該區塊加入

div{
word-wrap: break-word;
word-break: normal;
}

英文單詞斷行

div{
word-break:break-all;
}

強制不換行

div{
white-space:nowrap;
}

因為我需要得是強制斷行,所以在該區塊加上指令後,歐耶~歐耶~它好了(*P≧▽≦q)


  2013-01-27      ez   
.Net 抓取網路流量資訊

利用 .Net 抓取電腦的網路流量,程式碼如下:

using System;
using System.Net.NetworkInformation;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
                IPGlobalStatistics ipstat = properties.GetIPv4GlobalStatistics();
                Console.Clear();
                Console.WriteLine("接收封包數:" + ipstat.ReceivedPackets);
                Console.WriteLine("轉發封包數:" + ipstat.ReceivedPacketsForwarded);
                Console.WriteLine("傳送封包數:" + ipstat.ReceivedPacketsDelivered);
                Console.WriteLine("丟棄封包數:" + ipstat.ReceivedPacketsDiscarded);
                System.Threading.Thread.Sleep(1000);
            }
        }
    }
}


  2012-06-04      ez      .NET
WhatsUp Gold Visual TraceRoute Tool 看不懂 traceroute 畫給你看

WhatsUp Gold Visual TraceRoute Tool 為市場上知名的網路監控軟體公司 WhatsUP Gold 所發行免費的 traceroute 工具軟體,它具備如下幾大重要功能特色:

* 將 TraceRoute 追蹤數據即時呈現,並建立拓撲圖

* 支援 ICMP、UDP、TCP 等協定進行 TraceRoute

* 支援處理隔離錯誤網段及頻寬瓶頸等問題

* 支援調整 TTL 及 Timeout 等設定值

* 支援識別每個 Next Hop 節點回應時間

* 支援同時進行多個 TraceRoute 目標

官方網站:http://www.whatsupgold.com/free-software/network-tools/visual-traceroute-tool.aspx

軟體下載:WhatsUpVisualTraceroutev1.0.0.101


  2012-06-04      ez      好用軟體
WhatsUp PortScanner Tool 主機開哪些 Port 掃描工具

WhatsUp PortScanner Tool 為市場上知名的網路監控軟體公司 WhatsUP Gold 所發行免費的 Port Scanner 工具軟體,它具備如下幾大重要功能特色:

* 使用 TCP、ICMP 進行掃描網路上存活的電腦主機 (Active Host)

* 支援多種深層掃描方式來幫助判斷電腦主機開啟的 Port 號

* 支援書籤功能可快速儲存及呼叫掃描結果

* 支援將掃描結果匯出為 CSV 檔

* 內建標準公認 Port 號清單 (Well Known Ports),並且可以新增自訂 Port 號

官方網站:http://www.whatsupgold.com/free-software/network-tools/port-scan.aspx

軟體下載:WhatsUpPortScannerv1.0.0.111


  2012-05-04      ez      好用軟體