当前位置: 首页 > news >正文

网站优化常见的优化技术阿里云 万网 网站

网站优化常见的优化技术,阿里云 万网 网站,led论坛网站建设,最实用的上网网址一览表WPF编程excel表格操作 摘要NPOI安装封装代码测试代码 摘要 Excel操作几种方式 使用开源库NPOI(常用#xff0c;操作丰富)使用Microsoft.Office.Interop.Excel COM组件(兼容性问题)使用OpenXml(效率高)使用OleDb(过时) NPOI安装 封装代码 using System; using System.IO; u… WPF编程excel表格操作 摘要NPOI安装封装代码测试代码 摘要 Excel操作几种方式 使用开源库NPOI(常用操作丰富)使用Microsoft.Office.Interop.Excel COM组件(兼容性问题)使用OpenXml(效率高)使用OleDb(过时) NPOI安装 封装代码 using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data;using NPOI.SS.Util; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; // 对于.xlsx文件 using NPOI.HSSF.UserModel; // 对于.xls文件namespace GasAlarmTestTool {internal class ExcelTools{/// summary/// 创建Excel表/// /summary/// param namefilePath/param/// param namedataTable/parampublic void CreateNewExcel(string filePath, DataTable dataTable){IWorkbook workbook;if (filePath.EndsWith(.xlsx)){workbook new XSSFWorkbook(); // 创建 .xlsx 文件}else{workbook new HSSFWorkbook(); // 创建 .xls 文件}var sheet workbook.CreateSheet(Sheet1);// 写入表头var headerRow sheet.CreateRow(0);for (int i 0; i dataTable.Columns.Count; i){headerRow.CreateCell(i).SetCellValue(dataTable.Columns[i].ColumnName);}// 写入数据for (int i 0; i dataTable.Rows.Count; i){var dataRow sheet.CreateRow(i 1);for (int j 0; j dataTable.Columns.Count; j){dataRow.CreateCell(j).SetCellValue(dataTable.Rows[i][j].ToString());}}SetUniformColumnWidth(sheet, 20); // 默认统一列宽20// 保存文件using (var stream new FileStream(filePath, FileMode.Create, FileAccess.Write)){workbook.Write(stream);}}/// summary/// 追加Excel表/// 追加数据时可以定位到现有数据的末尾创建新行并写入。/// /summary/// param namefilePath/param/// param namedataTable/parampublic void AppendDataToExistingExcel(string filePath, DataTable dataTable){IWorkbook workbook;using (var stream new FileStream(filePath, FileMode.Open, FileAccess.Read)){workbook filePath.EndsWith(.xlsx) ? (IWorkbook)new XSSFWorkbook(stream) : new HSSFWorkbook(stream);}var sheet workbook.GetSheetAt(0);int lastRowNum sheet.LastRowNum;for (int i 0; i dataTable.Rows.Count; i){var dataRow sheet.CreateRow(lastRowNum i 1);for (int j 0; j dataTable.Columns.Count; j){dataRow.CreateCell(j).SetCellValue(dataTable.Rows[i][j].ToString());}}using (var stream new FileStream(filePath, FileMode.Open, FileAccess.Write)){workbook.Write(stream);}}/// summary/// 查找指定列是否存在item项/// /summary/// param namefilePath/param/// param nameitem/param/// param namecolIndex/param/// returns/returnspublic bool SearchColumnExitsItem(string filePath, string item, int colIndex){IWorkbook workbook;using (var stream new FileStream(filePath, FileMode.Open, FileAccess.Read)){workbook filePath.EndsWith(.xlsx) ? (IWorkbook)new XSSFWorkbook(stream) : new HSSFWorkbook(stream);}var sheet workbook.GetSheetAt(0);// 遍历每一行for (int row 0; row sheet.LastRowNum; row){IRow currentRow sheet.GetRow(row);if (currentRow ! null){// 遍历每一列for (int column 0; column currentRow.LastCellNum; column){ ICell currentCell currentRow.GetCell(column);var cellValue currentCell.ToString();if ((column colIndex) (cellValue item)){return true;}}}} return false;}/// summary/// 设置列宽/// /summary/// param nameworkbook/param/// param namesheetIndex/param/// param namecolumnIndex/parampublic void SetColumnWidth(IWorkbook workbook, int sheetIndex, int columnIndex){var sheet workbook.GetSheetAt(sheetIndex);// 设置列宽(单位是 1/256 字符宽度)sheet.SetColumnWidth(columnIndex, 20 * 256); // 设置第1列宽度为20}/// summary/// 设置行高/// /summary/// param nameworkbook/param/// param namesheetIndex/param/// param namerowIndex/parampublic void SetColumnRowHeight(IWorkbook workbook, int sheetIndex, int rowIndex){var sheet workbook.GetSheetAt(sheetIndex);// 设置行高单位是点数var row sheet.GetRow(rowIndex) ?? sheet.CreateRow(rowIndex);row.HeightInPoints 25; // 设置行高为25点}/// summary/// 同时设置列宽和行高/// /summary/// param nameworkbook/param/// param namesheetIndex/param/// param namecolumnIndex/param/// param namerowIndex/param/// param namewidth/param/// param nameheight/parampublic void SetColumnWidthAndRowHeight(IWorkbook workbook, int sheetIndex, int columnIndex, int rowIndex, int width, int height){var sheet workbook.GetSheetAt(sheetIndex);// 设置列宽单位是1/256字符宽度sheet.SetColumnWidth(columnIndex, width * 256); // 设置第1列宽度为 20 var row sheet.GetRow(rowIndex) ?? sheet.CreateRow(rowIndex); row.HeightInPoints height; // 25}/// summary/// 设置统一行高/// /summary/// param namesheet/param/// param nameheightInPoints/parampublic void SetUniformRowHeight(ISheet sheet, float heightInPoints){for (int i 0; i sheet.LastRowNum; i){ var row sheet.GetRow(i) ?? sheet.CreateRow(i);row.HeightInPoints heightInPoints;}}/// summary/// 设置统一列宽/// /summary/// param namesheet/param/// param namewidthInCharacters/parampublic void SetUniformColumnWidth(ISheet sheet, int widthInCharacters){for (int i 0; i sheet.GetRow(0).LastCellNum; i) // 以第一行的单元格数量为列数{sheet.SetColumnWidth(i, widthInCharacters * 256); // 设置列宽}}/// summary/// 设置统一行高和列宽/// /summary/// param namesheet/param/// param namerowHeightInPoints/param/// param namecolumnWidthCharacters/parampublic void SetUniformRowHeightAndColumnWidth(ISheet sheet, float rowHeightInPoints, int columnWidthCharacters){SetUniformRowHeight(sheet, rowHeightInPoints);SetUniformColumnWidth(sheet, columnWidthCharacters);}/// summary/// 合并单元格可以通过 CellRangeAddress 设置需要定义起始和结束的行列。/// /summary/// param nameworkbook/param/// param namesheetIndex/param/// param namefirstRow/param/// param namelastRow/param/// param namefirstCol/param/// param namelastCol/parampublic void MergeCells(IWorkbook workbook, int sheetIndex, int firstRow, int lastRow, int firstCol, int lastCol){var sheet workbook.GetSheetAt(sheetIndex);// 合并单元格var cellRangeAddress new CellRangeAddress(firstRow, lastRow, firstCol, lastCol);sheet.AddMergedRegion(cellRangeAddress);// 可以对合并后的单元格设置样式var cell sheet.GetRow(firstRow).GetCell(firstCol) ?? sheet.GetRow(firstRow).CreateCell(firstCol);var style workbook.CreateCellStyle();style.Alignment HorizontalAlignment.Center;cell.CellStyle style; }public void SetCellStyle(IWorkbook workbook, int sheetIndex, int rowIndex, int colIndex){var sheet workbook.GetSheetAt(sheetIndex);var cell sheet.GetRow(rowIndex).GetCell(colIndex) ?? sheet.GetRow(rowIndex).CreateCell(colIndex);var style workbook.CreateCellStyle();// 设置字体var font workbook.CreateFont();font.FontHeightInPoints 1;font.FontName Arial;font.IsBold true;style.SetFont(font);// 设置边框style.BorderBottom BorderStyle.Thin;style.BorderLeft BorderStyle.Thin;style.BorderRight BorderStyle.Thin;style.BorderTop BorderStyle.Thin;// 设置背景颜色style.FillForegroundColor IndexedColors.LightBlue.Index;style.FillPattern FillPattern.SolidForeground;cell.CellStyle style;cell.SetCellValue(示例文本内容);}} } 测试代码 private ExcelTools excel new ExcelTools(); string excelFileName Properties.Settings.Default.SavePath /燃气报警器数据表格.xlsx;// TODO: 生成保存数据 DataTable dt new DataTable(); dt.Columns.Add(设备UUID, typeof(string)); dt.Columns.Add(SIM卡号, typeof(string)); dt.Columns.Add(设备型号, typeof(string)); dt.Columns.Add(网络型号, typeof(string)); dt.Columns.Add(生产日期, typeof(string));DataRow dr dt.NewRow(); dr[设备UUID] 2021886000001; dr[SIM卡号] 86452215642112345675; dr[设备型号] 单甲烷; dr[网络型号] NB-IoT; dr[生产日期] DateTime.Now.ToString(); dt.Rows.Add(dr);if (excelFileName.EndsWith(.xls) || excelFileName.EndsWith(.xlsx)) {if (!File.Exists(excelFileName)){// TODO: 文件不存在创建文件excel.CreateNewExcel(excelFileName, dt);}else{// TODO: 将IMEI号写入个Excel表格若已经写入过则不再写入防止重复写入if (excel.SearchColumnExitsItem(excelFileName, label_imei.Content.ToString(), 0) false){excel.AppendDataToExistingExcel(excelFileName, dt);}} } else {MessageBox.Show(请先设置表格文件保存); }
http://www.w-s-a.com/news/628322/

相关文章:

  • 五莲网站建设维护推广凡科做网站的方法
  • 山东省住房建设厅网站首页网站文章更新怎么通知搜索引擎
  • 商务网站的可行性分析包括大流量网站 优化
  • 推广网站有效的方法网站数据统计
  • 自建视频网站WordPress数据库添加管理员
  • 新民电商网站建设价格咨询网站建设高效解决之道
  • 做网站需要哪些步骤网站设计介绍
  • 物流网站制作目的国外中文网站排行榜单
  • 苏州网站建设招标网站ftp的所有权归谁
  • 未央免费做网站河间网站建设
  • 酒庄企业网站app制作多少钱一个
  • 西安模板建网站网站如何做直播轮播
  • 网站功能需求表百度怎么投放自己的广告
  • 如何免费制作网站网站icp备案费用
  • 网站建设最新教程wordpress表白墙
  • android电影网站开发网站建设与设计实习报告
  • 公司汇报网站建设方案烟台seo网站推广
  • 文章网站哪里建设好找素材的网站
  • 怎么做自己的彩票网站公司建设网站价格
  • 国外比较好的设计网站网站后台无法上传图片
  • 帮别人做网站的公司是外包吗用户登录
  • 关于我们网站模板小莉帮忙郑州阳光男科医院
  • 上海门户网站怎么登录永州网站制作
  • 微信网站模版下载做销售的去哪个网站应聘
  • 好看的个人博客主页长安网站优化公司
  • 企业网站关站大型综合新闻门户网站织梦模板
  • 网站优化排名易下拉效率查企业网站
  • 网站建设湛江关于汽车的网站
  • 南宁模板建站多少钱企业黄页名单
  • 企业网站的建设一般要素有网站定制公司地址