国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站模板購買房地產(chǎn)估價(jià)師考試

網(wǎng)站模板購買,房地產(chǎn)估價(jià)師考試,怎么修改自己網(wǎng)站內(nèi)容,成都房地產(chǎn)政策安裝 依賴庫:NPOI 創(chuàng)建XSSFWorkbook和Sheet 設(shè)置表頭行 添加數(shù)據(jù)驗(yàn)證: 身份證列用COUNTIF公式確保唯一 地址相關(guān)列鎖定固定值 學(xué)段列設(shè)置三級(jí)下拉 固定值通過單元格賦值實(shí)現(xiàn) 輸出 using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI.SS…

安裝 依賴庫:NPOI
在這里插入圖片描述

創(chuàng)建XSSFWorkbook和Sheet
設(shè)置表頭行
添加數(shù)據(jù)驗(yàn)證:
身份證列用COUNTIF公式確保唯一
地址相關(guān)列鎖定固定值
學(xué)段列設(shè)置三級(jí)下拉
固定值通過單元格賦值實(shí)現(xiàn)
輸出

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using NPOI.SS.Util;
using System.IO;/// <summary>
/// 下載模板
/// </summary>
/// <returns></returns>
public ActionResult DownloadTemplate(DownloadTemplateDto input) {if (input.total< 1) throw new UserFriendlyException("人數(shù)不能為0");var stream = GenerateExcel(input.total);var data= stream.ToArray();return new FileContentResult(data, "application/octet-stream");//application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
}private MemoryStream GenerateExcel(int rowTotal)
{rowTotal = rowTotal + 10;//總行數(shù)// 1. 創(chuàng)建工作簿和工作表IWorkbook workbook = new XSSFWorkbook();ISheet sheet = workbook.CreateSheet("基礎(chǔ)信息");// 創(chuàng)建文本格式樣式(用于身份證號(hào)列)ICellStyle textStyle = workbook.CreateCellStyle();IDataFormat textFormat = workbook.CreateDataFormat();textStyle.DataFormat = textFormat.GetFormat("@"); // "@" 表示文本格式// 2. 創(chuàng)建列名行// 2. 設(shè)置列名(共12列)string[] headers = { "姓名", "身份證號(hào)", "現(xiàn)住省", "現(xiàn)住市", "現(xiàn)住區(qū)", "聯(lián)系電話","詳細(xì)地址", "學(xué)校名稱", "學(xué)校編號(hào)", "學(xué)段", "年級(jí)", "班級(jí)" };IRow headerRow = sheet.CreateRow(0);for (int i = 0; i < headers.Length; i++){headerRow.CreateCell(i).SetCellValue(headers[i]);}// 3. 設(shè)置數(shù)據(jù)驗(yàn)證規(guī)則IDataValidationHelper validationHelper = sheet.GetDataValidationHelper();// 規(guī)則1:身份證號(hào)列唯一性驗(yàn)證CellRangeAddressList idRange = new CellRangeAddressList(1, rowTotal, 1, 1); // B列IDataValidationConstraint idConstraint = validationHelper.CreateCustomConstraint("COUNTIF(B:B, B1)=1");IDataValidation idValidation = validationHelper.CreateValidation(idConstraint, idRange);idValidation.CreateErrorBox("重復(fù)錯(cuò)誤", "身份證號(hào)必須唯一!");sheet.AddValidationData(idValidation);// 規(guī)則2:固定值驗(yàn)證(省、市、區(qū)、學(xué)校名稱、學(xué)校編號(hào))SetFixedValue(sheet, 2, "北京市", rowTotal); // C列:現(xiàn)住省SetFixedValue(sheet, 3, "昌平區(qū)", rowTotal); // D列:現(xiàn)住市SetFixedValue(sheet, 4, "A街道", rowTotal); // E列:街道SetFixedValue(sheet, 7, deptName, rowTotal); // H列:學(xué)校名稱SetFixedValue(sheet, 8, deptId, rowTotal); // I列:學(xué)校編號(hào)// 規(guī)則3:學(xué)段下拉選擇(小學(xué)/初中/高中)CellRangeAddressList stageRange = new CellRangeAddressList(1, rowTotal, 9, 9); // J列IDataValidationConstraint stageConstraint = validationHelper.CreateExplicitListConstraint(new string[] { "小學(xué)", "初中", "高中", "高三", "中專", "技校", "大學(xué)" });IDataValidation stageValidation = validationHelper.CreateValidation(stageConstraint, stageRange);stageValidation.CreateErrorBox("輸入錯(cuò)誤", "請(qǐng)選擇下拉選中對(duì)應(yīng)值!");sheet.AddValidationData(stageValidation);// 規(guī)則4:年級(jí)CellRangeAddressList grade = new CellRangeAddressList(1, rowTotal, 10, 10); // K列IDataValidationConstraint gradeConstraint = validationHelper.CreateExplicitListConstraint(new string[] { "一年級(jí)", "二年級(jí)", "三年級(jí)", "四年級(jí)", "五年級(jí)", "六年級(jí)","初一", "初二", "初三", "高一", "高二", "高三", "大一", "大二", "大三", "大四" });IDataValidation gradeValidation = validationHelper.CreateValidation(gradeConstraint, grade);gradeValidation.CreateErrorBox("輸入錯(cuò)誤", "請(qǐng)選擇下拉選中對(duì)應(yīng)值!");sheet.AddValidationData(gradeValidation);for (int rowIndex = 1; rowIndex <= rowTotal; rowIndex++){IRow row = sheet.GetRow(rowIndex) ?? sheet.CreateRow(rowIndex);ICell idCell = row.GetCell(idCardColumnIndex) ?? row.CreateCell(idCardColumnIndex);// 應(yīng)用文本樣式(即使單元格為空)idCell.CellStyle = textStyle;// 如果已有數(shù)據(jù),確保以文本格式存儲(chǔ)if (idCell.StringCellValue != null){idCell.SetCellValue(idCell.StringCellValue);}
}// 5. 流式輸出MemoryStream stream = new MemoryStream();workbook.Write(stream, true);stream.Position = 0; // 重置流位置 return stream;
}// 輔助方法:為整列設(shè)置固定值 添加樣式參數(shù)
private void SetFixedValue(ISheet sheet, int columnIndex, string value, int rowTotal, ICellStyle textStyle)
{for (int rowIndex = 1; rowIndex <= rowTotal; rowIndex++){IRow row = sheet.GetRow(rowIndex) ?? sheet.CreateRow(rowIndex);ICell cell = row.GetCell(columnIndex) ?? row.CreateCell(columnIndex);cell.SetCellValue(value);// 如果是身份證列(索引1),應(yīng)用文本樣式if (columnIndex == 1){cell.CellStyle = textStyle;}}
}

測試
在這里插入圖片描述
修改下載后的文件后綴為xlsx格式即可打開
在這里插入圖片描述

http://m.aloenet.com.cn/news/41831.html

相關(guān)文章:

  • 小程序開發(fā)平臺(tái)哪里做得好seo網(wǎng)站優(yōu)化培訓(xùn)怎么做
  • 可以免費(fèi)發(fā)帖的網(wǎng)站品牌廣告投放
  • asp如何做網(wǎng)站河北網(wǎng)站seo策劃
  • 網(wǎng)站瀏覽思路上海網(wǎng)絡(luò)推廣公司網(wǎng)站
  • 哪個(gè)網(wǎng)站推廣做的好引流獲客app下載
  • 關(guān)于藥品網(wǎng)站建設(shè)策劃書seo軟件哪個(gè)好
  • 做網(wǎng)站公司在深圳杭州疫情最新情況
  • 網(wǎng)站建設(shè)在線視頻上海百度推廣官網(wǎng)
  • java源代碼網(wǎng)站seo在線外鏈
  • 企業(yè)網(wǎng)站建設(shè)系統(tǒng)惠東seo公司
  • 邯鄲哪有做網(wǎng)站的公司邵陽網(wǎng)站seo
  • 網(wǎng)站開發(fā)原型濰坊今日頭條新聞
  • 濰坊市建設(shè)局網(wǎng)站上海關(guān)鍵詞自動(dòng)排名
  • 網(wǎng)站源碼上傳完后怎么做足球排名最新排名世界
  • 怎么給企業(yè)做網(wǎng)站網(wǎng)絡(luò)營銷企業(yè)是什么
  • 網(wǎng)站策劃書十大外貿(mào)電商平臺(tái)
  • 邯鄲網(wǎng)站建設(shè)縱橫廣告軟文怎么寫
  • 中華南大街網(wǎng)站建設(shè)佛山百度網(wǎng)站排名優(yōu)化
  • 深圳網(wǎng)站建設(shè)公司哪家專業(yè)今日國內(nèi)新聞10則
  • 如何制作網(wǎng)站平臺(tái)北京aso優(yōu)化
  • 銷項(xiàng)稅和進(jìn)項(xiàng)導(dǎo)入是在國稅網(wǎng)站做嗎制作網(wǎng)站費(fèi)用
  • 自己的電腦做服務(wù)器建立網(wǎng)站的方法百度競價(jià)搜索
  • 做能支付的網(wǎng)站貴嗎國內(nèi)免費(fèi)域名
  • 小說網(wǎng)站建設(shè)的支柱app推廣活動(dòng)策劃方案
  • 做門的網(wǎng)站1688的網(wǎng)站特色
  • python 做的網(wǎng)站有哪些如何在網(wǎng)絡(luò)上推廣產(chǎn)品
  • 顏色搭配的網(wǎng)站班級(jí)優(yōu)化大師官網(wǎng)下載
  • 什么網(wǎng)站可以做醫(yī)療設(shè)備的磁力鏈
  • 做網(wǎng)站 要域名 主機(jī) 還有啥東莞網(wǎng)站seo公司
  • 建設(shè)銀行網(wǎng)站機(jī)構(gòu)長沙seo推廣外包