75 lines
2.4 KiB
C#
75 lines
2.4 KiB
C#
|
using NPOI.SS.UserModel;
|
|||
|
using NPOI.XSSF.UserModel;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Data;
|
|||
|
using System.Linq;
|
|||
|
using System.Web;
|
|||
|
|
|||
|
namespace FineUIPro.Web
|
|||
|
{
|
|||
|
public class CommonPrint
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 数据分页
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public static DataTable GetPageToDataTable(DataTable dt, int PageIndex, int PageSize)
|
|||
|
{
|
|||
|
if (PageIndex == 0)
|
|||
|
return dt;//0页代表每页数据,直接返回
|
|||
|
|
|||
|
if (dt == null)
|
|||
|
{
|
|||
|
DataTable table = new DataTable();
|
|||
|
return table;
|
|||
|
}
|
|||
|
|
|||
|
DataTable newdt = dt.Copy();
|
|||
|
newdt.Clear();//copy dt的框架
|
|||
|
|
|||
|
int rowbegin = (PageIndex - 1) * PageSize;
|
|||
|
int rowend = PageIndex * PageSize;//要展示的数据条数
|
|||
|
|
|||
|
if (rowbegin >= dt.Rows.Count)
|
|||
|
return newdt;//源数据记录数小于等于要显示的记录,直接返回dt
|
|||
|
|
|||
|
if (rowend > dt.Rows.Count)
|
|||
|
rowend = dt.Rows.Count;
|
|||
|
for (int i = rowbegin; i <= rowend - 1; i++)
|
|||
|
{
|
|||
|
DataRow newdr = newdt.NewRow();
|
|||
|
DataRow dr = dt.Rows[i];
|
|||
|
foreach (DataColumn column in dt.Columns)
|
|||
|
{
|
|||
|
newdr[column.ColumnName] = dr[column.ColumnName];
|
|||
|
}
|
|||
|
newdt.Rows.Add(newdr);
|
|||
|
}
|
|||
|
return newdt;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 创建样式
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public static ICellStyle SetExcelStyle(XSSFWorkbook wb, BorderStyle Bottom, BorderStyle Left, BorderStyle Right, BorderStyle Top, VerticalAlignment VerAig, HorizontalAlignment HorAig, double FontSize, bool WrapText = true, bool Bold = false, string FontName = "宋体")
|
|||
|
{
|
|||
|
ICellStyle style = wb.CreateCellStyle();
|
|||
|
style.BorderBottom = Bottom;
|
|||
|
style.BorderLeft = Left;
|
|||
|
style.BorderRight = Right;
|
|||
|
style.BorderTop = Top;
|
|||
|
style.VerticalAlignment = VerAig;
|
|||
|
style.Alignment = HorAig;
|
|||
|
IFont font = wb.CreateFont();
|
|||
|
font.FontHeightInPoints = FontSize;
|
|||
|
font.IsBold = Bold;
|
|||
|
font.FontName = FontName;
|
|||
|
style.SetFont(font);
|
|||
|
style.WrapText = WrapText;
|
|||
|
return style;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|