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
{
///
/// 数据分页
///
///
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;
}
///
/// 创建样式
///
///
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;
}
}
}