string
path
=
"F:/text.xlsx"
;
FileInfo
fileInfo
=
new
FileInfo
(
path
)
;
using
(
ExcelPackage
package
=
new
ExcelPackage
(
fileInfo
)
)
ExcelWorksheet
sheet
=
package
.
Workbook
.
Worksheets
.
Add
(
"sheet1"
)
;
sheet
.
Cells
.
Style
.
Font
.
Name
=
"宋体"
;
sheet
.
Cells
.
Style
.
Font
.
Size
=
11F
;
sheet
.
Cells
.
Style
.
HorizontalAlignment
=
OfficeOpenXml
.
Style
.
ExcelHorizontalAlignment
.
Center
;
sheet
.
Cells
.
Style
.
VerticalAlignment
=
OfficeOpenXml
.
Style
.
ExcelVerticalAlignment
.
Center
;
sheet
.
Cells
[
1
,
1
]
.
Value
=
"降板高度"
;
sheet
.
Cells
[
1
,
2
]
.
Value
=
"生成填充区域"
;
sheet
.
Cells
[
1
,
3
]
.
Value
=
"颜色R"
;
sheet
.
Cells
[
1
,
4
]
.
Value
=
"颜色G"
;
sheet
.
Cells
[
1
,
5
]
.
Value
=
"颜色B"
;
sheet
.
Cells
[
1
,
6
]
.
Value
=
"RGB值"
;
sheet
.
Cells
[
1
,
7
]
.
Value
=
"填充样式"
;
sheet
.
Row
(
1
)
.
Height
=
19.5
;
sheet
.
Cells
[
"A1:G1"
]
.
Style
.
Fill
.
PatternType
=
ExcelFillStyle
.
Solid
;
sheet
.
Cells
[
"A1:G1"
]
.
Style
.
Fill
.
BackgroundColor
.
SetColor
(
System
.
Drawing
.
Color
.
FromArgb
(
232
,
232
,
232
)
)
;
for
(
int
i
=
1
;
i
<=
7
;
i
++
)
sheet
.
Cells
[
1
,
i
]
.
Style
.
Border
.
BorderAround
(
OfficeOpenXml
.
Style
.
ExcelBorderStyle
.
Thin
,
System
.
Drawing
.
Color
.
Black
)
;
package
.
Save
(
)
;
EPPlus读取excel内容
public void ReadExcel()
string path = "F:/text.xlsx";
FileStream fs = new FileStream(path, FileMode.Open);
using (ExcelPackage package = new ExcelPackage(fs))
ExcelWorksheet sheet = package.Workbook.Worksheets[1];
int n = sheet.Dimension.End.Row;
for (int i = 2; i <= n; i++)
var test = sheet.GetValue(i, 1).ToString();
首先在NuGet下载EPPlus包在这里插入图片描述创建Excel并写入内容 /// <summary> /// 创建Excel /// </summary> public void CrateExcel() { //文件保存路径 string path = "F:/text.xlsx"; FileInfo fileInfo = new F
c#利用EPPlus读取excel实例。
简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件
功效:支持对excel文档的汇入汇出,图表(excel自带的图表基本都可以实现)的列印
简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件
功效:支持对excel文档的汇入汇出,图表(excel自带的图表基本都可以实现)的列印
使用:首先应该下载Epplus的dll文件
1> 添加dll文件至工程bin文件中
2>在程式中添加引用
using OfficeOpenXml;
using OfficeOpenXml.Drawing;
using OfficeOpenXml.Drawing.Chart;
using OfficeOpenXml.Style;
3>所有的操作语句需要放置在下面的using中
using (ExcelPackage package = new ExcelPackage())
4.添加新的sheet
var worksheet = package.Workbook.Worksheets.Add(“sheet1");
5.单元格赋值,这里多说一句,NPOI必须先创建单元格,然后再给单元格赋值,而Epplus不需要,直接找到单元格进行赋值就可以了.
worksheet.Cells[int row, int col].Value = “”;
worksheet.Cells["A1"].Value = “”;
6.合并单元格
worksheet.Cells[int fromRow, fromCol, int toRow,int toCol].Merge = true;
7.获取某一个区域
var rangeData= worksheet.Cells[fromRow, fromCol, toRow, toCol];
8.设置字体
worksheet.Cells.Style.Font.Name= “正楷”;
worksheet.Cells.Style.Font.Color
worksheet.Cells.Style.Font.Size
9.设置边框的属性
worksheet.Cells.Style.Border.Left.Style= ExcelBorderStyle.Thin ;
worksheet.Cells.Style.Border.Right.Style= ExcelBorderStyle.Thin;
worksheet.Cells.Style.Border.Top.Style= ExcelBorderStyle.Thin;
worksheet.Cells.Style.Border.Bottom.Style= ExcelBorderStyle.Thin;
10.对齐方式
worksheet.Cells.Style.HorizontalAlignment=ExcelHorizontalAlignment.Center;
worksheet.Cells.Style.VerticalAlignment = ExcelVerticalAlignment.Bottom;
11. 设置整个sheet的背景色
worksheet.Cells.Style.Fill.PatternType= ExcelFillStyle.Solid;
worksheet.Cells.Style.Fill.BackgroundColor.SetColor(Color.LightBlue);
12.折行显示
worksheet.Cells.Style.WrapText= true;
13.单元格自动适应大小
worksheet.Cells.Style.ShrinkToFit= true;
14.格式化单元格value值
worksheet.Cells.Style.Numberformat.Format= "0.00";
15.锁定
worksheet.Cells["A1"].Style.Locked= true;
注:此处锁定某一个单元格的时候,只有在整个sheet被锁定的情况下才可以被锁定,不然加上锁定属性也是不起作用的~~
二.Epplus另一个出色的地方就是支持图表的列印.功能的實現很簡單,難點在于需求比較細的點上,epplus可能不好實現,但是總的來說是比較好的一個列印圖表的工具
1.简单介绍一下可以实现的图表类型:
直條圖、折綫圖、圓形圖、橫條圖、散佈圖、區域圖 等類型的圖表
2.使用:分为三步,
第一步是将需要显示在图表中的 数据列印到excel中.
第二步是创建所需要的图表类型(折线图为例)
var chart = (worksheet.Drawings.AddChart("LineChart", eChartType.Line) as ExcelLineChart);
第三步为图表添加第一步列印的数据区间就可以了
chart.Series.Add(Y軸顯示的數據源,X軸顯示的數據源)
3.图表的功能就这样实现了,很简单吧
使用EPPlus控件导出DataTable到本地,生成Excel文件;
使用EPPlus控件导入本地Excel文件到DataTable;
使用EPPlus控件导出附有数据图(折线图、柱形图、扇形图)的Excel文件;
使用EPPlus控件常用的属性设置及其解释。
文件中附带了4.1.0.0版本的EPPlus.dll,以及readme.txt中EPPlus的帮助文档网址;
代码中没有关于嵌入vba代码的详解,想要参考vba部分的看客就不要下载了;
代码中在读取Excel文件时,若Excel中存在公式,是不能读取激活公式后的数据的,我也感到非常遗憾,若有看客知道,恳请在留言处分享,谢谢。
最后,感谢下载!
1、在桌面程序中导入导出数据时会操作Excel文件,常用的第三方控件有NPOI与EPPlus。
2、相对于NPOI来说,EPPlus的API更加友好,导出数据的能力也比NPOI更强大点。但在操作Excel的功能上还是NPOI强一点(C#
NPOI导出Excel和EPPlus导出Excel比较): 20列,NPOI能导出4万数据,导出5万数据时报内存溢出。EPPlus能导出20万以上数据,导出23万测试时内存溢出。
3、如果想导出比较复杂的Excel的话可以使用NPOI,但
在C#中操作Excel对特定范围使用表格样式,可以使用Microsoft.Office.Interop.Excel命名空间中的对象和方法。下面是一个简单的示例代码:
```csharp
using Excel = Microsoft.Office.Interop.Excel;
// 创建Excel应用程序对象
Excel.Application excelApp = new Excel.Application();
// 打开Excel文件
Excel.Workbook workbook = excelApp.Workbooks.Open(@"C:\example.xlsx");
// 获取第一个工作表
Excel.Worksheet worksheet = workbook.Sheets[1];
// 获取指定单元格范围
Excel.Range range = worksheet.Range["A1:B3"];
// 获取表格样式对象
Excel.TableStyle tableStyle = workbook.TableStyles["Table Style Medium 2"];
// 将表格样式应用到指定单元格范围
range.Table.SetTableStyle(tableStyle);
// 保存并关闭Excel文件
workbook.Save();
workbook.Close();
excelApp.Quit();
在上面的示例中,我们创建了一个Excel应用程序对象,然后打开了一个名为example.xlsx的Excel文件。接着,我们获取了第一个工作表,并获取了A1:B3单元格范围,然后获取了"Table Style Medium 2"表格样式对象,最后将该表格样式应用到该单元格范围。最后保存并关闭了Excel文件。
需要注意的是,使用Microsoft.Office.Interop.Excel命名空间中的对象和方法需要安装Microsoft Office软件。