C# NPOI例子

1 C# NPOI 例子

1.1 NPOI 下載

  • NPOI.dll
  • NPOI.OOXML.dll
  • NPOI.OpenXml4Net.dll
  • NPOI.OpenXmlFormats.dll
  • NPOI.XML
    注意 NPOI的版本要和 .net 版本對(duì)應(yīng),不必要下載最新版本的NPOI,選擇合適的版本即可。

1.2 編寫程序

1.2.1 引用

填寫如下代碼

using NPOI.XSSF.UserModel;
using NPOI.SS.UserModel;
using System.IO;

編寫如下代碼

            double[] date = new double[5] { 1.0, 2.0, 3.0, 4.0, 5.0 };
//創(chuàng)建EXCEL 
// xlsx 格式用XSSFWorkbook
// xls  格式用 HSSFWorkbook
            IWorkbook workbook = new XSSFWorkbook();
            //添加sheet
            ISheet sheet1 = workbook.CreateSheet("sheet1");
            for (int i = 0; i < 1000; i++)
            {
                IRow row = sheet1.CreateRow(i);//給sheet1 添加行索引從0開始 
                ICell cell = row.CreateCell(0);// 給每一個(gè)行添加單元格 
                cell.SetCellValue(i);  // 單元格賦值 
            }
          //獲得當(dāng)前 目錄
            string currentDirectory = Environment.CurrentDirectory;
          //字符串拼接
            currentDirectory = currentDirectory + "excel.xlsx";
            FileStream file = new FileStream(currentDirectory, FileMode.Create);
            // 寫文件到 workbook
            workbook.Write(file);

這樣就完成了EXCEL文件的寫,寫內(nèi)容是比較高頻次的功能,是屬于需求工程里的核心需求,也就就是說,沒有其他功能設(shè)置,只要能寫進(jìn)內(nèi)容到EXCEL對(duì)應(yīng)的sheet 里的cell 就行。

3 C# WPF學(xué)習(xí)

由于簡(jiǎn)書每天只能更新2篇,本來想單獨(dú)開一篇WPF的,就在這更新了。

3.1 WPF

WPF是先進(jìn)的軟件模式,使得軟件開發(fā)更加專業(yè),界面和邏輯分開開發(fā)。

3.1.1 WPF第一個(gè)例子

  • 選擇WPF項(xiàng)目


    image.png

3.2 實(shí)現(xiàn)連個(gè)TEXT框內(nèi)容一致

  • 代碼如下
<Window x:Class="WpfApplication11.MainWindow"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
       xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
       xmlns:local="clr-namespace:WpfApplication11"
       mc:Ignorable="d"
       Title="第一個(gè)wpf" Height="350" Width="525">
   <Grid>
       <Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="58,166,0,0"  VerticalAlignment="Top" Width="75"/>
       <Button x:Name="button1" Content="Button" HorizontalAlignment="Left" Margin="177,166,0,0"  VerticalAlignment="Top" Width="75"/>
       <TextBox x:Name="tb1" HorizontalAlignment="Left" Height="23" Margin="58,75,0,0" TextWrapping="Wrap" Text="{Binding Text, ElementName=tb2 }"  VerticalAlignment="Top" Width="120"/>
       <TextBox x:Name="tb2" HorizontalAlignment="Left" Height="23" Margin="241,75,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/>

   </Grid>
</Window>
  • 核心代碼分析
<TextBox x:Name="tb1" HorizontalAlignment="Left" Height="23" Margin="58,75,0,0" TextWrapping="Wrap" Text="{Binding Text, ElementName=tb2 }"  VerticalAlignment="Top" Width="120"/>

這其中比較重要的代碼

 Text="{Binding Text, ElementName=tb2 }" 
  • Bingding 的用法分析
    Bingding 屬性, ElementName = 對(duì)象名稱
    所以最后的結(jié)果如下
GIF 2023-10-3 20-02-47.gif

3.3 按鈕改變 文字

代碼如下

        private void bt_to_web(object sender, RoutedEventArgs e)
        {
            tb1.Text = "ni hao ";
           
        }

結(jié)果如下

GIF 2023-10-3 20-23-00.gif

3.3 顯示圖片

    private void bt_to_pic(object sender, RoutedEventArgs e)
    {
        string image_path = @"****.png";  // 請(qǐng)輸入自己圖片的地址
        image.Source = new BitmapImage(new Uri(image_path));
    }
  • 結(jié)果


    GIF 2023-10-3 20-39-46.gif

3.5 EXCEL 數(shù)據(jù)顯示

EXCEL 數(shù)據(jù)顯示插件用 reogrid

3.5.1 安裝 reogrid

image.png

我安裝的是 2.2 版本的

  • Xaml中引入命名空間
xmlns:reoGrid="clr-namespace:unvell.ReoGrid;assembly=unvell.ReoGrid"
  • 添加 ReoGridControl
 <reoGrid:ReoGridControl x:Name="reoGridControl" Width="Auto" Height="Auto" Margin="0" Readonly="True" 
 SheetTabNewButtonVisible="False" ShowScrollEndSpacing="False" SheetTabVisible="False"/>
  • 實(shí)際顯示效果


    image.png

wpf 下整合 NPOI 和 reoGrid 能夠解決一些問題 。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容