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 能夠解決一些問題 。


