NPOI分层导出
using NPOI.HSSF.UserModel; using NPOI.POIFS.FileSystem; using org.in2bits.MyXls; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Topevery.Basis.Config; using Topevery.Basis.Logic; using Topevery.DUM.Entity; namespace Topevery.DUM.Report.PublicCaseAnalysis { public partial class EvtSpread : BasePage { protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { //txtStartDate.Text = string.Format("{0}-{1}-1", DateTime.Today.Year, DateTime.Today.Month); //txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Today); txtStartDate.Text = "2015-01-01"; txtEndDate.Text = "2016-08-01"; } AjaxPro.Utility.RegisterTypeForAjax(typeof(EvtSpread)); } /// <summary> /// 分布统计查询 /// </summary> /// <param name="evtPara"></param> /// <returns></returns> [AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.Read)] public static EvtSpreadData GetZxEvtSpreadData(SearchPara evtPara) { EvtSpreadData result = new EvtSpreadData(); //1.查出所有数据 BaseParameter para = new BaseParameter(); para.PageIndex = ; para.PageSize = int.MaxValue; string title = ""; //lblTitle.Text = string.Format("{0:yyyy-MM-01}至{1:MM-dd}{3}专项案件分布统计", DateTime.Today); if (!string.IsNullOrEmpty(evtPara.DateBegin)) { DateTime dtStart = DateTime.Now; if (DateTime.TryParse(evtPara.DateBegin, out dtStart)) { title += string.Format("{0:yyyy-MM-dd}—", dtStart); para.BeginDate = dtStart; } } if (!string.IsNullOrEmpty(evtPara.DateEnd)) { DateTime dtEnd = DateTime.Now; if (DateTime.TryParse(evtPara.DateEnd, out dtEnd)) { title += string.Format("{0:yyyy-MM-dd}", dtEnd); para.EndDate = dtEnd.AddDays().AddSeconds(-); } } title += "案件分布统计"; ; DataTable dt = QmcgLogic.EvtSearchList(para); if (dt != null) { recordCount = dt.Rows.Count; } StringBuilder StrbSprdHtm = new StringBuilder(); string strTableClass = "TUI-grid-list"; StrbSprdHtm.AppendFormat("<table class='{0}' ><colgroup ><col width='30px'><col width='120px' /><col/><col/></colgroup><tr><th>序号</th><th class='AeraName ui-th-column'>区域</th><th class='EvtCount ui-th-column'>案件数</th></tr>", strTableClass); //循环各个区域 Topevery.Basis.Entity.SysMapTreeCollection mapTreeColl = SysMapLogic.GetDefaultTree(); ) { foreach (Topevery.Basis.Entity.SysMapTree mapCity in mapTreeColl) { ; //市下面的区循环 foreach (Topevery.Basis.Entity.SysMapTree mapDist in mapCity.Child) { iDistCount++; string strDistTrStyle = "ui-widget-content jqgrow ui-row-ltr ui-priority-secondary"; == ) { strDistTrStyle = "ui-widget-content jqgrow ui-row-ltr"; } strDistTrStyle = string.Format("{0} {1}", Topevery.Basis.Config.MapTypeEnum.District, strDistTrStyle); ) { //int prbInDistCount = 0; int evtInDistCount = GetEvtCountByMap(dt, mapDist.ID, Topevery.Basis.Config.MapTypeEnum.District); // StrbSprdHtm.AppendFormat("<tr class='{2}' mapId='{3}'><td>{4}</td><td class='AeraName'><a class='TUI-link-btn fl-left' href='javascript:void(0);' onclick='showOrHideStreet(this);'><span class='ui-icon ui-icon-minus'></span></a><a href='javascript:mapPositions({3})'>{0}</a></td><td class='EvtCount'><a href='javascript:void(0);' onclick='showDetail(this,{3},13002)'>{1}</a></td></tr>", mapDist.Name, evtInDistCount, strDistTrStyle, mapDist.ID, iDistCount); ) { StrbSprdHtm.AppendFormat("<tr class='{0}_Out'><td></td><td colspan='2' border='0'>", MapTypeEnum.Street); StrbSprdHtm.AppendFormat("<table class='{0}'><colgroup ><col width='30px'><col width='120px' /><col/><col/></colgroup><tr><th>序号</th><th class='AeraName ui-th-column'>街道</th><th class='EvtCount ui-th-column'>案件数</th></tr>", strTableClass); ; //循环区下面的街道 foreach (Topevery.Basis.Entity.SysMapTree mapStreet in mapDist.Child) { string strStreetStyle = "ui-widget-content jqgrow ui-row-ltr ui-priority-secondary"; == ) { strStreetStyle = "ui-widget-content jqgrow ui-row-ltr"; } //int prbInStreetCount = 0; int evtInStreetCount = GetEvtCountByMap(dt, mapStreet.ID, Topevery.Basis.Config.MapTypeEnum.Street); ) { iStreetCount++; StrbSprdHtm.AppendFormat("<tr class='{2}_Inner {5}' mapId='{3}'><td>{6}</td><td class='AeraName'><a class='TUI-link-btn fl-left' href='javascript:void(0);' onclick='showOrHideCmn(this);'><span class='ui-icon ui-icon-plus'></span></a><a href='javascript:mapPositions({3})'>{0}</a></td><td class='EvtCount'><a href='javascript:void(0);' onclick='showDetail(this,{3},13003)'>{1}</a></td></tr><tr class='{4}_Out' style='display:none'><td></td><td colspan='2'>", mapStreet.Name, evtInStreetCount, MapTypeEnum.Street, mapStreet.ID, MapTypeEnum.Community, strStreetStyle, iStreetCount); StrbSprdHtm.AppendFormat("<table class='{0}'><colgroup><col width='30px'><col width='120px' /><col/><col/></colgroup><tr><th>序号</th><th class='AeraName ui-th-column'>社区</th><th class='EvtCount ui-th-column'>案件数</th></tr>", strTableClass); ; //循环街道下面的社区 foreach (Topevery.Basis.Entity.SysMapTree mapComn in mapStreet.Child) { //int prbInCmnCount = 0; int evtInCmnCount = GetEvtCountByMap(dt, mapComn.ID, Topevery.Basis.Config.MapTypeEnum.Community); ) { iCmnCount++; StrbSprdHtm.AppendFormat("<tr class='{2}_Inner' mapId='{3}'><td>{4}</td><td class='AeraName'><a href='javascript:mapPositions({3})'>{0}</a></td><td class='EvtCount'><a href='javascript:void(0);' onclick='showDetail(this,{3},13004)'>{1}</a></td></tr>", mapComn.Name, evtInCmnCount, MapTypeEnum.Community, mapComn.ID, iCmnCount); } } StrbSprdHtm.Append("</table></td></tr>"); } } StrbSprdHtm.Append("</table>"); } else { StrbSprdHtm.AppendFormat("<tr class='{0}_Out' style='display:none;'><td></td><td colspan='2' border='0'>", MapTypeEnum.Street); } StrbSprdHtm.Append("</td></tr>"); } } StrbSprdHtm.Append("</table>"); StrbSprdHtm.Append("</td></tr>"); } } StrbSprdHtm.Append("</table>"); result.SprHtmlResult = StrbSprdHtm.ToString(); result.Title = title; //ExportQueryService.SetQueryVal(ExportEnumKey, para); foreach (DataRow dr in dt.Rows) { try { Evt evt = new Evt(); evt.EvtId = Convert.ToInt64(dr["c_id"]); try { evt.AbsX = Convert.ToDouble(dr["c_abs_x"]); evt.AbsY = Convert.ToDouble(dr["c_abs_y"]); } catch { } try { evt.DistId = Convert.ToInt32(dr["c_map_district_id"]); evt.StreetId = Convert.ToInt32(dr["c_map_street_id"]); evt.CmnId = Convert.ToInt32(dr["c_map_community_id"]); } catch { } evt.Title = Convert.ToString(dr["c_title"]); //evt.Status = Convert.ToInt32(dr["c_status"]); result.ListEvt.Add(evt); } catch { } } return result; } /// <summary> /// 导出excel文件 /// </summary> /// <param name="reportTitle">标题</param> /// <param name="dt">数据源</param> /// <param name="columns">列名</param> /// <param name="filePath">文件路径</param> /// <param name="maxRow">一页显示最大记录数</param> public static void SingleExport(string reportTitle, string subTitle, DataTable dt, Dictionary<string, string> columns, string filePath, int maxRow) { int WorkSheetCount = Convert.ToInt32(Math.Ceiling(dt.Rows.Count * 1.0 / maxRow)); XlsDocument doc = new XlsDocument(); ; i < WorkSheetCount; i++) { Worksheet sheet = doc.Workbook.Worksheets.Add()); ; ; int currentMinRowIndex = i * maxRow; ; ) * maxRow + ) < dt.Rows.Count) currentMaxRowIndex = (i + ) * maxRow; else currentMaxRowIndex = dt.Rows.Count; //标题 if (!string.IsNullOrEmpty(reportTitle)) { rowIndex++; XF cellXF = doc.NewXF(); cellXF.VerticalAlignment = VerticalAlignments.Centered; cellXF.HorizontalAlignment = HorizontalAlignments.Centered; cellXF.Font.Height = * ; cellXF.Font.Bold = true; //cellXF.Pattern = 1;//设定单元格填充风格。如果设定为0,则是纯色填充 //cellXF.PatternBackgroundColor = Colors.EgaYellow;//填充的底色 //cellXF.PatternColor = Colors.Grey;//设定填充线条的颜色 sheet.Cells.Add(rowIndex, , reportTitle, cellXF); MergeArea area = , , , columns.Count); sheet.AddMergeArea(area); } //副标题 if (!string.IsNullOrEmpty(subTitle)) { rowIndex++; XF cellXF = doc.NewXF(); cellXF.VerticalAlignment = VerticalAlignments.Centered; cellXF.HorizontalAlignment = HorizontalAlignments.Centered; sheet.Cells.Add(rowIndex, , subTitle, cellXF); MergeArea area = , , , columns.Count); sheet.AddMergeArea(area); } //列头标题 rowIndex++; foreach (string colTitle in columns.Values) { colIndex++; XF cellXF = doc.NewXF(); cellXF.VerticalAlignment = VerticalAlignments.Centered; cellXF.HorizontalAlignment = HorizontalAlignments.Centered; cellXF.Font.Bold = true; cellXF.Pattern = ;//设定单元格填充风格。如果设定为0,则是纯色填充 cellXF.PatternBackgroundColor = Colors.Grey;//填充的底色 cellXF.TopLineColor = Colors.Black; cellXF.TopLineStyle = ; cellXF.BottomLineColor = Colors.Black; cellXF.BottomLineStyle = ; cellXF.LeftLineColor = Colors.Black; cellXF.LeftLineStyle = ; cellXF.RightLineColor = Colors.Black; cellXF.RightLineStyle = ; sheet.Cells.Add(rowIndex, colIndex, colTitle, cellXF); } //数据行 for (int j = currentMinRowIndex; j < currentMaxRowIndex; j++) { rowIndex++; colIndex = ; XF cellXF = doc.NewXF(); cellXF.VerticalAlignment = VerticalAlignments.Centered; cellXF.HorizontalAlignment = HorizontalAlignments.Centered; cellXF.TopLineColor = Colors.Black; cellXF.TopLineStyle = ; cellXF.BottomLineColor = Colors.Black; cellXF.BottomLineStyle = ; cellXF.LeftLineColor = Colors.Black; cellXF.LeftLineStyle = ; cellXF.RightLineColor = Colors.Black; cellXF.RightLineStyle = ; foreach (string colName in columns.Keys) { colIndex++; object v = dt.Rows[j][colName]; if (v is Int32 || v is Int16 || v is Int64 || v is Double || v is Single) { sheet.Cells.Add(rowIndex, colIndex, v == null || v == DBNull.Value ? "" : v, cellXF); } else { sheet.Cells.Add(rowIndex, colIndex, v == null || v == DBNull.Value ? "" : v.ToString(), cellXF); } } } } doc.FileName = Guid.NewGuid().ToString() + ".xls"; if (!string.IsNullOrEmpty(filePath)) { doc.Save(filePath); } else { string folder = HttpContext.Current.Server.MapPath("~/Templates"); try { foreach (string file in System.IO.Directory.GetFiles(folder)) { System.IO.FileInfo fi = new System.IO.FileInfo(file); ) { System.IO.File.Delete(file); } } } catch { } doc.Save(folder); System.Web.HttpContext.Current.Response.WriteFile("~/Templates/" + doc.FileName); } } public const string ExportEnumKey = ExportKey.Regional; public static int GetEvtCountByMap(DataTable evtData, int mapId, Topevery.Basis.Config.MapTypeEnum mapType) { //prbCount = 0; try { string filter = ""; switch (mapType) { case MapTypeEnum.District: filter = string.Format("[c_map_district_id]={0}", mapId); break; case MapTypeEnum.Street: filter = string.Format("[c_map_street_id]={0}", mapId); break; case MapTypeEnum.Community: filter = string.Format("[c_map_community_id]={0}", mapId); break; } //object oPrbCount = evtData.Compute("sum([c_count])", filter); //try //{ // prbCount = Convert.ToInt32(oPrbCount); //} //catch { } return evtData.Select(filter).Length; } catch { } ; } protected void Download_Click(object sender, EventArgs e) { ; BaseParameter para = new BaseParameter(); string title = ""; if (!string.IsNullOrEmpty(txtStartDate.Text)) { DateTime dtStart = DateTime.Now; if (DateTime.TryParse(txtStartDate.Text, out dtStart)) { title += string.Format("{0:yyyy-MM-dd}—", dtStart); para.BeginDate = dtStart; } } if (!string.IsNullOrEmpty(txtEndDate.Text)) { DateTime dtEnd = DateTime.Now; if (DateTime.TryParse(txtEndDate.Text, out dtEnd)) { title += string.Format("{0:yyyy-MM-dd}", dtEnd); para.EndDate = dtEnd.AddDays().AddSeconds(-); } } DataTable dt = QmcgLogic.EvtSearchList(para); if (dt != null) { recordCount = dt.Rows.Count; } List<string> subTitles = new List<string>(); Dictionary<string, string> cols = new Dictionary<string, string>(); DataTable dtnew = new DataTable("casetable"); dtnew.Columns.Add(new DataColumn("Id", typeof(Int32))); dtnew.Columns.Add(new DataColumn("Region", typeof(string))); dtnew.Columns.Add(new DataColumn("CaseNumber", typeof(Int32))); dtnew.Columns.Add("c_level"); dtnew.Columns.Add("c_parent_id"); DataRow dr; Topevery.Basis.Entity.SysMapTreeCollection mapTreeColl = SysMapLogic.GetDefaultTree(); ) { foreach (Topevery.Basis.Entity.SysMapTree mapCity in mapTreeColl) { ; ; //市下面的区循环 foreach (Topevery.Basis.Entity.SysMapTree mapDist in mapCity.Child) { id++; iDistCount++; ) { //区域案件数 int evtInDistCount = GetEvtCountByMap(dt, mapDist.ID, Topevery.Basis.Config.MapTypeEnum.District); dr = dtnew.NewRow(); dr["Id"] = mapDist.ID; dr["Region"] = mapDist.Name; dr["CaseNumber"] = evtInDistCount; dr[; dr[; dtnew.Rows.Add(dr); //街道 ; ) { foreach (Topevery.Basis.Entity.SysMapTree mapStreet in mapDist.Child) { id++; iStreetCount++; //案件数 int StreetCount = GetEvtCountByMap(dt, mapStreet.ID, Topevery.Basis.Config.MapTypeEnum.Street); dr = dtnew.NewRow(); dr["Id"] = mapStreet.ID; //dr["Id"] = iStreetCount; dr["Region"] = mapStreet.Name; dr["CaseNumber"] = StreetCount; dr[; dr["c_parent_id"] = mapDist.ID; dtnew.Rows.Add(dr); //社区 int evtInStreetCount = GetEvtCountByMap(dt, mapStreet.ID, Topevery.Basis.Config.MapTypeEnum.Street); ) { ; foreach (Topevery.Basis.Entity.SysMapTree mapComn in mapStreet.Child) { //案件数 int evtInCmnCount = GetEvtCountByMap(dt, mapComn.ID, Topevery.Basis.Config.MapTypeEnum.Community); ) { id++; iCmnCount++; dr = dtnew.NewRow(); dr["Id"] = mapComn.ID; //dr["Id"] = iCmnCount; dr["Region"] = mapComn.Name; dr["CaseNumber"] = evtInCmnCount; dr[; dr["c_parent_id"] = mapStreet.ID; dtnew.Rows.Add(dr); Dictionary<string, string> CaseColumns = new Dictionary<string, string>(); } } } } } } } } //----------------------- string filePath = System.IO.Path.Combine(Request.PhysicalApplicationPath, "tempFolder"); filePath = System.IO.Path.Combine(filePath, Guid.NewGuid().ToString() + ".xls"); HSSFWorkbook hssfWorkBook = new HSSFWorkbook(); HSSFSheet sheet1 = hssfWorkBook.CreateSheet("Sheet1") as HSSFSheet; using (FileStream file = new FileStream(filePath, FileMode.Create)) { hssfWorkBook.Write(file); } HSSFCellStyle _style = sheet1.Workbook.CreateCellStyle() as HSSFCellStyle; _style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER; _style.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER; _style.BorderBottom = NPOI.SS.UserModel.CellBorderType.THIN; _style.BottomBorderColor = ; _style.BorderLeft = NPOI.SS.UserModel.CellBorderType.THIN; _style.LeftBorderColor = ; _style.BorderRight = NPOI.SS.UserModel.CellBorderType.THIN; _style.RightBorderColor = ; _style.BorderTop = NPOI.SS.UserModel.CellBorderType.THIN; _style.TopBorderColor = ; DataRow[] drDists = dtnew.Select("c_level=1"); sheet1.CreateRow(); HSSFCell cell1 = sheet1.GetRow().CreateCell() as HSSFCell; HSSFCell cell2 = sheet1.GetRow().CreateCell() as HSSFCell; HSSFCell cell3 = sheet1.GetRow().CreateCell() as HSSFCell; cell1.SetCellValue("序号"); cell2.SetCellValue("区域"); cell3.SetCellValue("案件数"); foreach (DataRow drDist in drDists) { WriteExcelDataRowX(sheet1, dtnew, drDist, _style); } using (MemoryStream ms = new MemoryStream()) { hssfWorkBook.Write(ms); Response.Charset = "utf-8"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); string titleString = string.Empty; ) { titleString = "\"" + "区域案件分布统计表" + ".xls\""; Response.AddHeader("Content-Disposition", "attachment;filename=" + titleString); } else { Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", System.Web.HttpUtility.UrlEncode("区域案件分布统计表", System.Text.Encoding.UTF8) + ".xls")); } Response.BinaryWrite(ms.ToArray()); Response.End(); } //******************************************************************************************************** } } void WriteExcelDataRowX(HSSFSheet sheet, DataTable allData, DataRow row, HSSFCellStyle style) { //NPOI向单元格写入值 //从此二行创建 ; sheet.CreateRow(rowIndex); ; i <= ; i++) { //HSSFCell cell1 = sheet.GetRow(rowIndex).CreateCell(i) as HSSFCell; //if (i == 0) //{ // cell1.SetCellValue("序号"); //} //else if (i == 1) //{ // cell1.SetCellValue("区域"); //} //else //{ // cell1.SetCellValue("案件数"); //} HSSFCell cell = sheet.GetRow(rowIndex).GetCell(i) as HSSFCell; if (cell == null) { cell = sheet.GetRow(rowIndex).CreateCell(i) as HSSFCell; } cell.CellStyle = style; ) { //序号 cell.SetCellValue(Helper.GetDataValue(rowIndex, string.Empty)); } ) { //区域 cell.SetCellValue(Helper.GetDataValue(row["Region"], string.Empty)); } else { //案件数 cell.SetCellValue(Helper.GetDataValue(row["CaseNumber"], string.Empty)); } } //next level DataRow[] childData = allData.Select(string.Format("[c_parent_id]={0}", row["Id"])); ) { int curIndex = sheet.LastRowNum; foreach (DataRow childRow in childData) { WriteExcelDataRowX(sheet, allData, childRow, style); } sheet.GroupRow(curIndex + , sheet.LastRowNum); } } } [Serializable] [AjaxPro.AjaxNoTypeUsage] public class SearchPara { public string DateBegin; public string DateEnd; //public string EvtStatus; //public int TaskId = 0; } [Serializable] [AjaxPro.AjaxNoTypeUsage] public class EvtSpreadData { public List<Evt> ListEvt = new List<Evt>(); public string SprHtmlResult = ""; public string Title = ""; } [Serializable] [AjaxPro.AjaxNoTypeUsage] public class Evt { public long EvtId; public double AbsX; public double AbsY; public string Title; public int DistId; public int StreetId; public int CmnId; //public int Status = 0; //public int FirstAttachType = -1; //public string PicGUID; //public string Html; } }
NPOI分层导出的更多相关文章
- c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...
- NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...
- PhotoshopCS4轻松将PSD分层导出为Png分层
大家在网上都下载过PSD分层素材,有时候想把素材分层导出,以往做法是一层一层导出,可是这样效率太低,其实利用PS自带功能可以轻松导出PNG分层. 我们先打开一个PSD文件. 文件有7个图层,分 ...
- NPOI导入导出Excel
.net mvc利用NPOI导入导出excel 注意:如何导出的提交方式ajax导出是失效的! 解决方案是:js处理l两个表单的提交 代码: 第一步. 在页面里面加入2个隐藏的iframe, 如下 ...
- NET使用NPOI组件导出Excel-入门示例及通用方法
一.Excel导入及导出问题产生: 从接触.net到现在一直在维护一个DataTable导出到Excel的类,时不时还会维护一个导入类.以下是时不时就会出现的问题: 导出问题: 如果是as ...
- .Net core NPOI导入导出Excel
最近在想.net core NPOI 导入导出Excel,一开始感觉挺简单的,后来真的遇到很多坑.所以还是写一篇博客让其他人少走一些弯路,也方便忘记了再重温一遍.好了,多的不说,直接开始吧. 在.Ne ...
- 简单回顾NPOI导入导出excel文件
当前环境.net4.0 去官方下下载: NOPI官网 关于NOPI的详细,这里就不再介绍. 在项目中,我们只需引入 NPOI.dll 就可以了. 接下来..................... ...
- c# .Net :Excel NPOI导入导出操作教程之List集合的数据写到一个Excel文件并导出
将List集合的数据写到一个Excel文件并导出示例: using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using System;using Sys ...
- Npoi导入导出Excel操作
之前公司的一个物流商系统需要实现对订单的批量导入和导出,翻阅了一些资料,最后考虑使用NPOI实现这个需求. 在winform上面实现excel操作:http://www.cnblogs.com/Cal ...
随机推荐
- Java class,Object,Class的区别
代码: http://www.cnblogs.com/hongdada/p/6060487.html package com.company; public class Main { public s ...
- javascript的缓动效果
这部分对原先的缓动函数进行抽象化,并结合缓动公式进行强化.成品的效果非常惊人逆天.走过路过不要错过. 好了,打诨到此为止.普通的加速减速是难以让人满意的,为了实现弹簧等让人眼花缭乱的效果必须动用缓动公 ...
- github Android-Universal-Image-Loader
目存在于Github上面https://github.com/nostra13/Android-Universal-Image-Loader,我们可以先看看这个开源库存在哪些特征 多线程下载图片,图片 ...
- paper 123: SVM如何避免过拟合
过拟合(Overfitting)表现为在训练数据上模型的预测很准,在未知数据上预测很差.过拟合主要是因为训练数据中的异常点,这些点严重偏离正常位置.我们知道,决定SVM最优分类超平面的恰恰是那些占少数 ...
- maven创建的Web工程,Eclipse 内 tomcat容器不识别的处理方法
相信很多人都遇到这个问题,简单的说明下处理方式 前提是maven配置都是ok的,这里不多说了 1.创建web工程 mvn archetype:create -DgroupId=com.XXX.YYY ...
- C/C++之指针加减法
C和C++中可对指针进行加减,但对其进行乘除则基本无实际意义.一般来说,对指针进行减法的前提是减数和被减数均指向同一数组.加法同理.需要注意的是,两个指针的减法,结果是两个地址之间索引变量的数目,而不 ...
- 【转】Python练习,网络爬虫框架Scrapy
一.概述 下图显示了Scrapy的大体架构,其中包含了它的主要组件及系统的数据处理流程(绿色箭头所示).下面就来一个个解释每个组件的作用及数据的处理过程. 二.组件 1.Scrapy Engine(S ...
- 使用自定义签名的https的ssl安全问题解决和metro的webservice调用
最近一直在忙新的项目,每天加班到8点多,都没来写博客了.新的项目遇到了很多问题,现在趁着突然停电来记录下调用https的问题吧. 我们服务主要是,我们调用数据源数据,并且再提供接口供外部数据调用. 我 ...
- python函数基础 与文件操作
函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: def function_name(arg1,arg2[,.. ...
- mybatis,Spring等工具对xml文件正确性的验证
我们知道mybatis或者spring都是使用xml文件作为配置文件,配置文件的格式都是定义在叫做.dtd或者.xsd文件中的,当工具在解析用户自己定义的xml文件的时候,如何才能知道用户自定义的文件 ...