java中的数据导出到Excel表中
整个项目中导出数据到.Excel的源码
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import Vo.SellAnimal;
public class FileUtils {
public static final String SEPARATE_FIELD = ",";// 逗号分隔符
public static final String SEPARATE_LINE = "\r\n";// 行分隔符
public static void saveAniaml(SellAnimal animal) {
Date data = new Date(); // 获取系统时间
SimpleDateFormat fmort = new SimpleDateFormat("yyyyMMdd");// 注时间格式
String time = "销售记录" + fmort.format(data) + ".csv";
InputStream in = null; // 输入流,读取文件的内容
try {
in = new FileInputStream(time);//向上转型
if (in != null) {
in.close();
creatfile(time, true, animal);// 在已有文件的后面接着写
}
} catch (FileNotFoundException e) {
creatfile(time, false, animal);// 创建新的文件
} catch (IOException e) {
e.printStackTrace();
}
}
public static void creatfile(String time, boolean object, SellAnimal animal) {
// TODO Auto-generated method stub
BufferedOutputStream out = null;// 字节缓冲流
StringBuffer str = new StringBuffer();
try {
if (object) {
out = new BufferedOutputStream(new FileOutputStream(time, true));
} else {
out = new BufferedOutputStream(new FileOutputStream(time));
String[] filesort = { "宠物名称", "宠物编号", "宠物品种", "宠物数量", "宠物单价(/元)", "总价" };
for (String fieldKey : filesort) {
str.append(fieldKey).append(SEPARATE_FIELD);
}
}
str.append(SEPARATE_LINE);
str.append(animal.getName()).append(SEPARATE_FIELD);
str.append(animal.getNum()).append(SEPARATE_FIELD);
str.append(animal.getPin()).append(SEPARATE_FIELD);
str.append(animal.getShu()).append(SEPARATE_FIELD);
str.append(animal.getPrice()).append(SEPARATE_FIELD);
str.append(animal.getMoney()).append(SEPARATE_FIELD);
String str1 = str.toString();
byte[] shu = str1.getBytes();
for (int i = 0; i < shu.length; i++) {
out.write(shu[i]);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
2019-7-16 在我做的ssm项目中又有了导出文件的需求且这次比较复杂,需要有四层的标题,大标题小标题什么的,先放源码:然后说用到的jar包是poi-3.10;这个自己去官网上找,jar的版本太高的话不支持此源代码,因为有的版本更新了某些变量导致jar包里面根本就没有此源码的某些方法
/**
* excel自定义导出
* @param hAqscTieupsummary
* @param request
* @param response
* @param dataGrid
* @param modelMap
* @return
*/
@RequestMapping(value="/exportEXL",method=RequestMethod.GET)
public String exportEXL(@RequestParam(name="roleId",required=false) Long roleId,
HttpServletRequest request, HttpServletResponse response,
ModelMap modelMap
) {
try {
String dateType = "yyyy";
SimpleDateFormat df = new SimpleDateFormat(dateType);// 设置日期格式
SimpleDateFormat df1 = new SimpleDateFormat("yyyy.MM.dd");// 设置日期格式
// 创建HSSFWorkbook对象(excel的文档对象)
HSSFWorkbook wb = new HSSFWorkbook();
HSSFRow row = null;
HSSFCell cell = null;
// 建立新的sheet对象(excel的表单) 并设置sheet名字
HSSFSheet sheet = wb.createSheet(df1.format(new Date())+"河北省普通高等学校辅导员信息统计表");
sheet.setDefaultRowHeightInPoints(20);// 设置缺省列高 sheet.setDefaultColumnWidth(20);//设置缺省列宽
//----------------标题样式---------------------
HSSFCellStyle titleStyle3 = wb.createCellStyle(); //标题样式
titleStyle3.setAlignment(HSSFCellStyle.ALIGN_CENTER);
titleStyle3.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
HSSFFont ztFont = wb.createFont();
ztFont.setItalic(false); // 设置字体为斜体字
ztFont.setColor(Font.COLOR_NORMAL); // 将字体设置为“红色”
ztFont.setFontHeightInPoints((short)16); // 将字体大小设置为18px
ztFont.setFontName("宋体"); // 将“宋体”字体应用到当前单元格上
// ztFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //加粗
// ztFont.setUnderline(Font.U_DOUBLE); // 添加(Font.U_SINGLE单条下划线/Font.U_DOUBLE双条下划线)
// ztFont.setStrikeout(true); // 是否添加删除线
titleStyle3.setFont(ztFont);
//-------------------------------------------
//----------------二级标题格样式----------------------------------
HSSFCellStyle titleStyle2 = wb.createCellStyle(); //表格样式
titleStyle2.setAlignment(HSSFCellStyle.ALIGN_CENTER); //左右居中
titleStyle2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
HSSFFont ztFont2 = wb.createFont();
ztFont2.setItalic(false); // 设置字体为斜体字
ztFont2.setColor(Font.COLOR_NORMAL); // 将字体设置为“红色”
ztFont2.setFontHeightInPoints((short)22); // 将字体大小设置为18px
ztFont2.setFontName("黑体"); // 字体应用到当前单元格上
ztFont2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //加粗
// ztFont.setUnderline(Font.U_DOUBLE); // 添加(Font.U_SINGLE单条下划线/Font.U_DOUBLE双条下划线)
// ztFont.setStrikeout(true); // 是否添加删除线
titleStyle2.setFont(ztFont2);
//--------------------------------------------------------------------
//------------------------三级标题-----------
HSSFCellStyle titleStyle4= wb.createCellStyle(); //标题样式
titleStyle4.setAlignment(HSSFCellStyle.ALIGN_CENTER);
titleStyle4.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
titleStyle4.setWrapText(true);//自动换行
HSSFFont ztFont3 = wb.createFont();
ztFont3.setItalic(false); // 设置字体为斜体字
ztFont3.setColor(Font.COLOR_NORMAL); // 将字体设置为“红色”
ztFont3.setFontHeightInPoints((short)16); // 将字体大小设置为18px
ztFont3.setFontName("黑体"); // 将“宋体”字体应用到当前单元格上
ztFont3.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //加粗
// ztFont.setUnderline(Font.U_DOUBLE); // 添加(Font.U_SINGLE单条下划线/Font.U_DOUBLE双条下划线)
// ztFont.setStrikeout(true); // 是否添加删除线
titleStyle4.setFont(ztFont3);
//----------------------------------------------------------
//----------------单元格样式----------------------------------
HSSFCellStyle cellStyle = wb.createCellStyle(); //表格样式
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
Font cellFont = wb.createFont();
cellFont.setItalic(false); // 设置字体为斜体字
cellFont.setColor(Font.COLOR_NORMAL); // 将字体设置为“红色”
cellFont.setFontHeightInPoints((short)12); // 将字体大小设置为18px
cellFont.setFontName("仿宋_GB2312"); // 字体应用到当前单元格上
//cellFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
cellStyle.setFont(cellFont);
cellStyle.setWrapText(true);//设置自动换行
//----------------------------------------------------------
// ----------------------创建第一行---------------
// 在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
row = sheet.createRow(0);
// 创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
cell = row.createCell(2);
// 合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
sheet.addMergedRegion(new CellRangeAddress(0, 0, 2, 2));
// 设置单元格内容
cell.setCellValue("附件1");
cell.setCellStyle(titleStyle3);
// ----------------------------------------------
// ----------------------创建第二行---------------
// 在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
row = sheet.createRow(1);
// 创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
cell = row.createCell(0);
// 合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 19));
// 设置单元格内容
cell.setCellValue("河北省普通高等学校辅导员信息统计表");
cell.setCellStyle(titleStyle2);
// ----------------------------------------------
// ------------------创建第三行(单位、填表日期)---------------------
row = sheet.createRow(2); // 创建第三行
cell = row.createCell(1);
cell.setCellValue("单位名称: ");
cell.setCellStyle(titleStyle3);
sheet.addMergedRegion(new CellRangeAddress(2, 2, 1, 3));
cell.setCellStyle(titleStyle3);
cell = row.createCell(4); // 填表时间
sheet.addMergedRegion(new CellRangeAddress(2, 2, 4, 5));
cell.setCellValue("学校(盖章)");
cell.setCellStyle(titleStyle3);
// ----------------------------------------------
// ------------------创建表头start---------------------
row = sheet.createRow(3); // 创建第四行
row.setHeightInPoints(30); //设置行高
cell = row.createCell(0);
cell.setCellValue("序号");
cell.setCellStyle(titleStyle4);
sheet.autoSizeColumn(1, true);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 0, 0));
sheet.addMergedRegion(new CellRangeAddress(3, 4, 1, 1));
cell = row.createCell(1);
cell.setCellValue("姓名");
sheet.autoSizeColumn(1, true);
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 2, 2));
cell = row.createCell(2);
cell.setCellValue("性别");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 3, 3));
cell = row.createCell(3);
sheet.setColumnWidth(3, 16* 256); //设置列宽,20个字符宽
cell.setCellValue("政治面貌");
sheet.autoSizeColumn(1, true);
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 4, 4));
sheet.setColumnWidth(4, 16 * 256); //设置列宽,20个字符宽
cell = row.createCell(4);
cell.setCellValue("出生年份");
sheet.autoSizeColumn(1, true);
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 5, 5));
sheet.setColumnWidth(5, 16 * 256); //设置列宽,20个字符宽
cell = row.createCell(5);
cell.setCellValue("出生月份");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 6, 6));
sheet.setColumnWidth(6, 16 * 256); //设置列宽,20个字符宽
cell = row.createCell(6);
cell.setCellValue("出生日期");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 7, 7));
cell = row.createCell(7);
sheet.setColumnWidth(7, 30* 256); //设置列宽,20个字符宽
cell.setCellValue("身份证号");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 8, 8));
cell = row.createCell(8);
sheet.setColumnWidth(8, 15 * 256); //设置列宽,20个字符宽
cell.setCellValue("手机号");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 9, 9));
cell = row.createCell(9);
sheet.setColumnWidth(9, 40 * 256); //设置列宽,20个字符宽
cell.setCellValue("所在学校");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 10, 10));
cell = row.createCell(10);
sheet.setColumnWidth(10, 40 * 256); //设置列宽,20个字符宽
cell.setCellValue("所在院系");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 11, 11));
cell = row.createCell(11);
sheet.setColumnWidth(11, 16 * 256); //设置列宽,20个字符宽
cell.setCellValue("入职时间");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 12, 12));
cell = row.createCell(12);
sheet.setColumnWidth(12, 16* 256); //设置列宽,20个字符宽
cell.setCellValue("担任为辅导员时间");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 13, 13));
cell = row.createCell(13);
sheet.setColumnWidth(13, 16 * 256); //设置列宽,20个字符宽
cell.setCellValue("担任为辅导员时长");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 3, 14, 16));
cell = row.createCell(14);
cell.setCellValue("所带学生数量");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 17, 17));
cell = row.createCell(17);
sheet.setColumnWidth(17, 20 * 256); //设置列宽,20个字符宽
cell.setCellValue("专业技术职务情况");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 18, 18));
cell = row.createCell(18);
sheet.setColumnWidth(18, 20 * 256); //设置列宽,20个字符宽
cell.setCellValue("辅导员岗位职务");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 19, 19));
cell = row.createCell(19);
sheet.setColumnWidth(19, 40 * 256); //设置列宽,20个字符宽
cell.setCellValue("兼任行政职务");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 20, 20));
cell = row.createCell(20);
sheet.setColumnWidth(20, 40 * 256); //设置列宽,20个字符宽
cell.setCellValue("行政职务级别");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 21, 21));
cell = row.createCell(21);
sheet.setColumnWidth(21, 16 * 256); //设置列宽,20个字符宽
cell.setCellValue("学历");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 22, 22));
cell = row.createCell(22);
sheet.setColumnWidth(22, 16 * 256); //设置列宽,20个字符宽
cell.setCellValue("学位");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 23, 23));
cell = row.createCell(23);
sheet.setColumnWidth(23, 16 * 256); //设置列宽,20个字符宽
cell.setCellValue("聘用方式");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(3, 4, 24, 24));
cell = row.createCell(24);
cell.setCellValue("备注");
cell.setCellStyle(titleStyle4);
//--------------------------- 创建第五行--------------------
row = sheet.createRow(4);
cell = row.createCell(0);
cell.setCellStyle(titleStyle4);
cell = row.createCell(1);
cell.setCellStyle(titleStyle4);
cell = row.createCell(2);
cell.setCellStyle(titleStyle4);
cell = row.createCell(3);
cell.setCellStyle(titleStyle4);
cell = row.createCell(4);
cell.setCellStyle(titleStyle4);
cell = row.createCell(5);
cell.setCellStyle(titleStyle4);
cell = row.createCell(6);
cell.setCellStyle(titleStyle4);
cell = row.createCell(7);
cell.setCellStyle(titleStyle4);
cell = row.createCell(8);
cell.setCellStyle(titleStyle4);
cell = row.createCell(9);
cell.setCellStyle(titleStyle4);
cell = row.createCell(10);
cell.setCellStyle(titleStyle4);
cell = row.createCell(11);
cell.setCellStyle(titleStyle4);
cell = row.createCell(12);
cell.setCellStyle(titleStyle4);
cell = row.createCell(13);
cell.setCellStyle(titleStyle4);
cell = row.createCell(14);
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(4, 4, 14, 14));
cell = row.createCell(14);
sheet.setColumnWidth(14, 16 * 256); //设置列宽,20个字符宽
cell.setCellValue("专科生");
cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(4, 4, 15, 15));
cell = row.createCell(15);
sheet.setColumnWidth(15, 16 * 256); //设置列宽,20个字符宽
cell.setCellValue("本科生");
cell.setCellStyle(titleStyle4);
// cell = row.createCell(1);
// cell.setCellStyle(titleStyle4);
sheet.addMergedRegion(new CellRangeAddress(4, 4, 16, 16));
cell = row.createCell(16);
sheet.setColumnWidth(16, 16 * 256); //设置列宽,20个字符宽
cell.setCellValue("研究生");
cell.setCellStyle(titleStyle4);
cell = row.createCell(17);
cell.setCellStyle(titleStyle4);
cell = row.createCell(18);
cell.setCellStyle(titleStyle4);
cell = row.createCell(19);
cell.setCellStyle(titleStyle4);
cell = row.createCell(20);
cell.setCellStyle(titleStyle4);
cell = row.createCell(21);
cell.setCellStyle(titleStyle4);
cell = row.createCell(22);
cell.setCellStyle(titleStyle4);
cell = row.createCell(23);
cell.setCellStyle(titleStyle4);
cell = row.createCell(24);
cell.setCellStyle(titleStyle4);
//-------------------------表头end---------------------
/**
*
* 查询数据代码需要更改填写
*
*
*/
//
/**
这里是需要查询所需要的数据放到bean中以方便导出使用
这里的代码我删掉了,就是查询数据,总到一个bean里面
*/
//
for(int i=0;i<daochu.size();i++){
List<Object> data = new ArrayList<Object>();
daoChubean chubean=new daoChubean();
chubean=daochu.get(i);
data.add(i+1);
data.add(chubean.getName());
int rowNum = 5+i; //从第四行开始
row = sheet.createRow(rowNum);
for (int j = 0; j < data.size(); j++) { //将数据添加到单元格中
// System.out.println(data.get(j));
sheet.addMergedRegion(new CellRangeAddress(rowNum, rowNum, j, j));
cell = row.createCell(j);
cell.setCellValue(""+data.get(j)+"");
cell.setCellStyle(cellStyle);
}
}
// 输出Excel文件
OutputStream output = response.getOutputStream();
response.reset();
String fileName="河北省普通高等学校辅导员信息统计表"; //用这个可以在前端页面上自主选择下载地址到本地的硬盘,
response.setHeader("Content-Disposition","attachment;filename=" + new String( fileName.getBytes("gb2312"), "ISO8859-1" ) ); //filename = 文件名
response.setContentType("application/msexcel");
wb.write(output);
output.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
java中的数据导出到Excel表中的更多相关文章
- vlookup函数基本使用--如何将两个Excel表中的数据匹配;excel表中vlookup函数使用方法将一表引到另一表
vlookup函数基本使用--如何将两个Excel表中的数据匹配:excel表中vlookup函数使用方法将一表引到另一表 一.将几个学生的籍贯匹配出来‘ 二.使用查找与引用函数 vlookup 三. ...
- python 用xlwt包把数据导出到excel表中
def write_excel(): f = xlwt.Workbook() #创建工作簿 ''' 创建第一个sheet: sheet1 ''' sheet1 = f.add_sheet(u'shee ...
- 机房收费系统——在VB中将MSHFlexGrid控件中的数据导出到Excel
机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系 ...
- Qt中将QTableView中的数据导出为Excel文件
如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能.之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件.在使用了QtSql模块后,我很容易的将这个类 ...
- WPF-将DataGrid控件中的数据导出到Excel
原文:WPF-将DataGrid控件中的数据导出到Excel 导出至Excel是非常常见,我们可以用很多类库,例如Aspose.NOPI.Interop,在这里我们使用微软自家的工具.我的WPF绑定的 ...
- 如何将存储在MongoDB数据库中的数据导出到Excel中?
将MongoDB数据库中的数据导出到Excel中,只需以下几个步骤: (1)首先,打开MongoDB安装目录下的bin文件夹,(C:\Program Files (x86)\MongoDB\Serve ...
- 将Datagridview中的数据导出至Excel中
首先添加一个模块ImportToExcel,并添加引用 然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...
- 28、python3.7(windows)将ORACLE11gR2中的数据取出写入excel表
28.1.下载python的离线扩展模块: 1.windows下python的离线扩展模块下载地址为: https://www.lfd.uci.edu/~gohlke/pythonlibs/ 提示: ...
- hbase使用MapReduce操作4(实现将 HDFS 中的数据写入到 HBase 表中)
实现将 HDFS 中的数据写入到 HBase 表中 Runner类 package com.yjsj.hbase_mr2; import com.yjsj.hbase_mr2.ReadFruitFro ...
随机推荐
- h5交互动画如何制作
最近几年随着h5的兴起,复杂的h5动画,甚至是交互动画类型的产品不断涌现,尤其在课件产品方面,很多公司都有相关需求,最近很多h5开发工程师想了解相关方面的技术. 针对h5,如果是简单的动画效果,可以考 ...
- My Demos
Some elementary algorithms on discrete differential geometry http://www.cnblogs.com/yaoyansi/p/56350 ...
- bzoj5104: Fib数列
Description Fib数列为1,1,2,3,5,8... 求在Mod10^9+9的意义下,数字N在Fib数列中出现在哪个位置 无解输出-1 Input 一行,一个数字N,N < = 10 ...
- java8与函数编程资料
Functional programming Java 8 idioms Java SE 8's new Streams API Spring 技术布道师 Josh Long 来华:用 Show 代码 ...
- eclipse修改android项目的apk包名类名
在Google提供的Eclipse集成开发环境adt-bundle下修改名称的总结: 1. 修改工程名(apk名称) 在弹出的对话框中输入新名称 该操作实际上是修改<project&g ...
- Angular CLI: 全局脚本
全局脚本 有的时候,我们需要加载全局脚本,例如 jQuery 脚本库,第三方的控件库等等.比如 jQuery 可以直接加载到 window 对象上,这就需要我们使用 Angular 中的全局脚本来处理 ...
- 同一台PC,配置多个同一存储平台下的Git账号【两个码云账号,配置在同一台PC上】
问题:配置完 SSH Key, 使用[http地址]拉取代码异常.报一些没有权限的问题. 原因:配置多个gitee账号(码云)后.拉取代码时,应使用~.ssh/config中Host地址,而不是码云给 ...
- Spring声明式事务的隔离级别和传播机制
声明式事务 在Spring中,声明式事务是用事务参数来定义的.一个事务参数就是对事务策略应该如何应用到某个方法的一段描述,如下图所示一个事务参数共有5个方面组成: 传播行为 事务的第一个方面是传播行为 ...
- 稀疏矩阵 part 2
▶ 各种稀疏矩阵数据结构之间的转化 ● MAT ←→ CSR CSR * MATToCSR(const MAT *in) // MAT 转 CSR { checkNULL(in); CSR * out ...
- zabbix使用SNMPV3协议监控交换机
SNMPV3是简单网络管理协议的第三版,因为其安全性更高,现在的中低端交换机已普遍支持该协议,所以在生产环境中我们应该采用SNMPV3对交换机.路由器进行管理. 首先在交换机上要配置SNMPV3协议, ...