JS读取excel表格中某个单元格的值

请问怎么实现如下功能(本人门外汉,因工作需要赶鸭子上架,是准备用在PhotoShop脚本中的)
变量a=表一单元格A1的值,b=单元格A2的值

1个回答

js直接操作dom读取,或者这里可以用个插件。参照https://blog.csdn.net/zxf1242652895/article/details/73930088?locationNum=10&fps=1

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
js读取excel中某几列单元格中的数值报错

我想用js读取本地excel中B,C两列的数值 ![图片说明](https://img-ask.csdn.net/upload/202002/22/1582358106_217856.png) 浏览器打开测试的代码,我把读取出来的值赋给k和j,打印出来,可以显示数值,但最后总会报错,想问下大家,这个报错得怎么把它消除掉 ![图片说明](https://img-ask.csdn.net/upload/202002/22/1582358939_394375.png) 下面是我测试的代码 ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <input type="file" name="file1" id="1" onchange="readWorkbookFromLocalFile(this)" style="display: none" /> <input type="button" value="添加文件" onclick="document.getElementById(1).click();" /> </head> <body> <script type="text/javascript" src="../xlsx.core.min.js"></script> <script> function readWorkbookFromLocalFile(obj) { var f = obj.files[0]; var reader = new FileReader(); reader.onload = function (e) { var data = e.target.result; var workbook = XLSX.read(data, { type: 'binary' }); var sheetNames = workbook.SheetNames; // 工作表名称集合 sheetNames.forEach(name => { var worksheet = workbook.Sheets[name]; // 只能通过工作表名称来获取指定工作表 // v代表读取单元格的原始值 for (i = 3; i < 20; i++) { var k = worksheet['B' + i].v; var j = worksheet['C' + i].v; console.log(k, j); } }); }; reader.readAsBinaryString(f); //console.log(workbook); } </script> </body> </html> ```

javascript开发读取一个excel文件,并且提取里面的表格到数组,用javascpt怎么写?

javascript开发读取一个excel文件,并且提取里面的表格到数组,用javascpt怎么写?

如何利用javascript读取本地Excel的部分数据

我想做一个场所的查询系统,在主界面的地图上标注出场所来,点击场所可以跳转到这个场所对应的html界面来展示详细信息,这样的话就得有很多个的html来做跳转用,因为每个场所的html除了title,场所的文字描述和两张图片不同,其余的都是相同的。 我想知道能不能在本地创建一个excel表格把所有场所的属性信息都写在表格里,只需要写一个跳转的html,不同的值通过调用表格上对应的值就行了。 不知道该如何实现,求大神指导

请问一下在通过js用xlsx读取excel时,怎么才能获取每一个单元的内容

![图片说明](https://img-ask.csdn.net/upload/202004/04/1585964645_729473.png) ``` var fileReader = new FileReader(); fileReader.onload = function (ev) { try { var data = ev.target.result, workbook = XLSX.read(data, { type: 'binary' }), // 以二进制流方式读取得到整份excel表格对象 persons = []; // 存储获取到的数据 } catch (e) { console.log('文件类型不正确'); return; } var sheet0 = workbook.Sheets[workbook.SheetNames[0]];//sheet0代表excel表格中的第一页 var str = XLSX.utils.sheet_to_json(sheet0);//利用接口实现转换。 console.log(str[0]); ``` 我像获取上面excel表格的每一个数据,我用str[0]只能获取到第二行. 这张表我想按照第一行和第一列来精准的找到某一个数据,比如我想找1和0.03Km的数据就是0.175496,但现在我只能获取一整行的数据,请问一下大佬怎么能获取单独的数据,并且我想要把0.03也获取到而不是把第一行当做标题.

读取Excel中字段数据,格式为日期,但读出来与表格中日期不一样

``` if(ret.vt==VT_DATE) //时间格式 { SYSTEMTIME st; VariantTimeToSystemTime((long)&ret.date, &st); CString date; date.Format("%d/%d/%d %d:%d:%d",st.wYear,st.wMonth, st.wDay,st.wHour,st.wMinute,st.wSecond,st.wMilliseconds); AfxMessageBox(date); } 结果弹出时间与Excel中的时间不一致 ```

java读取excle表格后数据22102000000变成了2.2102E10

package com.seeyon.apps.lockipPlugin; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 读取Excel * * @author lidy */ public class UnifiledData{ private Logger logger = LoggerFactory.getLogger(UnifiledData.class); private Workbook wb; private Sheet sheet; private Row row; public UnifiledData(String filepath) { if(filepath==null){ return; } String ext = filepath.substring(filepath.lastIndexOf(".")); try { InputStream is = new FileInputStream(filepath); if(".xls".equals(ext)){ wb = new HSSFWorkbook(is); }else if(".xlsx".equals(ext)){ wb = new XSSFWorkbook(is); }else{ wb=null; } } catch (FileNotFoundException e) { logger.error("FileNotFoundException", e); } catch (IOException e) { logger.error("IOException", e); } } /** * 读取Excel表格表头的内容 * * @param InputStream * @return String 表头内容的数组 * @author zengwendong */ public String[] readExcelTitle() throws Exception{ if(wb==null){ throw new Exception("Workbook对象为空!"); } sheet = wb.getSheetAt(0); row = sheet.getRow(0); // 标题总列数 int colNum = row.getPhysicalNumberOfCells(); System.out.println("colNum:" + colNum); String[] title = new String[colNum]; for (int i = 0; i < colNum; i++) { // title[i] = getStringCellValue(row.getCell((short) i)); title[i] = row.getCell(i).getCellFormula(); } return title; } /** * 读取Excel数据内容 * * @param InputStream * @return Map 包含单元格数据内容的Map对象 * @author zengwendong */ public Map<Integer, Map<Integer,Object>> readExcelContent() throws Exception{ if(wb==null){ throw new Exception("Workbook对象为空!"); } Map<Integer, Map<Integer,Object>> content = new HashMap<Integer, Map<Integer,Object>>(); sheet = wb.getSheetAt(0); // 得到总行数 int rowNum = sheet.getLastRowNum(); row = sheet.getRow(0); int colNum = row.getPhysicalNumberOfCells(); // 正文内容应该从第二行开始,第一行为表头的标题 // 现在是从第一行开始 for (int i = 1; i <= rowNum; i++) { row = sheet.getRow(i); int j = 0; Map<Integer,Object> cellValue = new HashMap<Integer, Object>(); while (j < colNum) { Object obj = getCellFormatValue(row.getCell(j)); cellValue.put(j, obj); j++; } content.put(i, cellValue); } return content; } /** * * 根据Cell类型设置数据 * * @param cell * @return * @author zengwendong */ private Object getCellFormatValue(Cell cell) { Object cellvalue = ""; if (cell != null) { // 判断当前Cell的Type switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC:// 如果当前Cell的Type为NUMERIC case Cell.CELL_TYPE_FORMULA: { // 判断当前的cell是否为Date if (DateUtil.isCellDateFormatted(cell)) { // 如果是Date类型则,转化为Data格式 // data格式是带时分秒的:2013-7-10 0:00:00 // cellvalue = cell.getDateCellValue().toLocaleString(); // data格式是不带带时分秒的:2013-7-10 Date date = cell.getDateCellValue(); cellvalue = date; } else {// 如果是纯数字 // 取得当前Cell的数值 cellvalue = String.valueOf(cell.getNumericCellValue()); } break; } case Cell.CELL_TYPE_STRING:// 如果当前Cell的Type为STRING // 取得当前的Cell字符串 cellvalue = cell.getRichStringCellValue().getString(); break; default:// 默认的Cell值 cellvalue = ""; } } else { cellvalue = ""; } return cellvalue; } /* public static void main(String[] args){ try { String filepath = "D://org_unit.xls"; UnifiledData excelReader = new UnifiledData(filepath); // 对读取Excel表格标题测试 // String[] title = excelReader.readExcelTitle(); // System.out.println("获得Excel表格的标题:"); // for (String s : title) { // System.out.print(s + " "); // } // 对读取Excel表格内容测试 Map<Integer,Map<Integer,Object>> map = excelReader.readExcelContent(); System.out.println("获得Excel表格的内容:"); for (int i = 1; i <= map.size()-1; i++){ System.out.println(map.get(i)); } } catch (FileNotFoundException e) { System.out.println("未找到指定路径的文件!"); e.printStackTrace(); }catch (Exception e) { e.printStackTrace(); } } */ } ``` ``` public static void main(String[] args) { String filepath = "D://org_unit.xls"; UnifiledData excelReader = new UnifiledData(filepath); // 对读取Excel表格内容测试 Map<Integer,Map<Integer,Object>> map = excelReader.readExcelContent(); for(int i=1;i<map.size();i++){ System.out.println(map.get(i).get(1![图片说明](https://img-ask.csdn.net/upload/201711/23/1511450585_440911.jpg))); } }

POI获取excle合并单元格以及没有合并单元格的数据

问题描述:如果excle表里最后一行数据是没有合并的,就取不到值,如果最后一行是合并过的数据,就都能取得到了(合并未合并的都可以获取到)。有大神可以帮忙看一下代码解决一下吗,谢谢啦。 package service; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.HashSet; import java.util.Set; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import entity.Table; public class ExcelOp { public String excelPath; public ExcelOp(String excelPath) { this.excelPath = excelPath; } public String getExcelPath() { return excelPath; } public void setExcelPath(String excelPath) { this.excelPath = excelPath; } /** * * @param excelPath:excel路径 * @param args:需要操作的列 * @throws IOException */ @SuppressWarnings("resource") public ArrayList<Table> readExcel() throws IOException{ File excelFile = new File(excelPath); InputStream is = new FileInputStream(excelFile); // 获取文件输入流 ArrayList<Table> list = null; String suffix = excelPath.substring(excelPath.lastIndexOf(".")+1); if(suffix.equals("xls")){ HSSFWorkbook workbook = null; workbook = new HSSFWorkbook(is); if(workbook != null){ HSSFSheet sheet = workbook.getSheetAt(1);//获取第二张表 if(sheet == null){ System.out.println(); return null; } list = new ArrayList<Table>(); int combineLines = 1; int number = 1; //读取行 for (int rowNum = 3; rowNum < sheet.getLastRowNum(); rowNum+=combineLines) { HSSFRow row = sheet.getRow(rowNum); if (row == null) continue; Table tb = new Table(); tb.setNumber("3.1." + number); // tb.setTestData(row.getCell(0).toString()); tb.setTitle(row.getCell(1).toString()); //Word换行主要有两大类,一类是表格单元格文本的换行,另一类是表格之外的文本的换行。对于表格外的文本我们可以使用“\r”或者“(char)11”来换行,然而对于表格内的文本我们只能使用“(char)11”来进行换行操作。 // tb.setFunctionPoint(row.getCell(2).toString().replace('\n', (char)11)); tb.setFunctionPoint(row.getCell(2).toString()); combineLines = isMergedRegion(sheet, rowNum, 1); String process = ""; String conclusion = ""; Set<String> s = new HashSet<String>(); for (int i = rowNum; i< rowNum + combineLines; i++) { //步骤 HSSFRow r1 = sheet.getRow(i); // process += r1.getCell(5).toString() + (char)11 + (char)11; process += r1.getCell(5).toString() + "\n" + "\n"; //结果 String result = r1.getCell(7).toString(); s.add(result); } tb.setProcess(process); tb.setConclusion(conclusion); number++; list.add(tb); } } } return list; } //返回合并单元格占用行数 public int isMergedRegion(Sheet sheet, int row, int column) { int sheetMergeCount = sheet.getNumMergedRegions(); for (int i = 0; i < sheetMergeCount; i++) { CellRangeAddress range = sheet.getMergedRegion(i); int firstRow = range.getFirstRow(); int lastRow = range.getLastRow(); int firstColumn = range.getFirstColumn(); int lastColumn = range.getLastColumn(); if (row >= firstRow && row <= lastRow) { if(column >= firstColumn && column <= lastColumn){ return lastRow - firstRow + 1; } } } return 1; } }

能不能实现页面表格中数据导出到本地已有excel或者txt文件

已知本地已有文件数据和页面表格数据字段名一致,且本地文件的每一行数据有唯一识别id,要求从页面导出表格数据到该文件中,且表格数据到本地文件后, id在本地数据的基础上依次加一。

python中如何抓取动态页面的表格里的内容

比如这个网址http://gs.amac.org.cn/amac-infodisc/res/pof/manager/index.html 我想拿到对应表格里面公司点进去之后的URL。。。 用了bs4和parse什么的去做,结果爬下来的页面只是框架,不含表格里的内容的 结果我post去做,不知道如何返回这些表格的内容,在chrome的network分析里面看到的就是在response里的content的内容,这是我想要的,好难啊 或者大神们教我用selenium来模拟点击下一页什么的。。。

js动态把文本框输入的的内容生成表格

像这两张图显示的一样,先在多个中input选择数据,然后再把input选择的数据生成表格 ![图片说明](https://img-ask.csdn.net/upload/201811/30/1543556660_557255.png)

js生成动态表头和表格内容的问题

数据库查出来的数据类似这样的![图片说明](https://img-ask.csdn.net/upload/201707/14/1499998410_189558.png) 通过ajax在页面获取json,想动态生成这样的一张表格![图片说明](https://img-ask.csdn.net/upload/201707/14/1499998518_66367.png) 请问获取到json后js代码怎么写好一点,或者数据库查出数据后怎么样处理之后再传到页面更好一些 回答的两位没有理解我的意思 我原本是在ajax回调里写的 ``` var rows = data.data; var title = data.title; var name = data.name; var str = "<tr><th></th>"; $.each(title,function(i){ str += "<th>"+title[i]+"</th>"; }); str += "</tr>"; $.each(name,function(i){ str += "<tr>"; str += "<td>"+name[i]+"</td>"; $.each(title,function(j){ str += "<td>"; $(rows).each(function(l,item){ if (item.name == name[i] && item.foodName == title[j]){ str += item.price; return false; } }); str += "</td>"; }); str += "</tr>"; }); $("#tableAll").html(str); ``` 感觉效率好像不佳,想问问有没有比较好的拼接方法

excel日期格式转化文本格式

查到是 "EXCEL的日期是以序列数的形式存储的,即保存的日期实际是这个日期到1900-1-1相差的天数。当单元格格式为数值时,就会显示出这个差值,即2006-12-1与1900-1-1相差39052天。" 为什么我用PHP实际计算是1899-12-30

导出excel,如何在下方弹出是否打开或保存

/***导出勾选列内容生成excel***/ function exportToExcel(tableid,chkname) //读取表格中每个单元到EXCEL中 { var curTbl = document.getElementById(tableid); if(chkname==undefined) chkname=""; var curChk = $("[name='"+chkname+"']"); var oXL; try{ oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel }catch(e){ dalert("无法启动Excel!\n\n如果您确信您的电脑中已经安装了Excel,"+"那么请调整IE的安全级别。\n\n具体操作:\n\n"+"工具 → Internet选项 → 安全 → 自定义级别 → 对没有标记为安全的ActiveX进行初始化和脚本运行 → 启用"); return false; } var oWB = oXL.Workbooks.Add();//获取workbook对象 var oSheet = oWB.ActiveSheet;//激活当前sheet var hang = curTbl.rows.length;//取得表格行数 var lie =curTbl.rows(0).cells.length;//取得数据源列数 for(var i=0;i<hang;i++){//i为表单对应的行,j为表单对应的列 for(var j=0,k=0;j<lie-1;j++,k++){//k为生成EXCEL对应的列 if(curChk[j].checked){//当勾选上时记录相应的数据 oSheet.Cells(i+1,k+1).NumberFormatLocal = "@";//设置单元格数字格式为文本 oSheet.Cells(i+1,k+1).value=curTbl.rows(i).cells(j).innerText; }else{ k--;//当未勾选时,EXCEL列回退 } } } oXL.Visible = true;//设置excel可见属性 try{ var fname = oXL.Application.GetSaveAsFilename("用户导出结果.xls", "Excel Spreadsheets (*.xls), *.xls"); }catch(e){ print("Nested catch caught " + e); }finally{ location.href='用户导出结果.xls'; oWB.SaveAs(fname); oWB.Close(savechanges=false); //xls.visible = false; oXL.Quit(); oXL=null; //结束excel进程,退出完成 //window.setInterval("Cleanup();",1); idTmr = window.setInterval("Cleanup();",1); } } IE浏览器 1.我想要的是这种展示:(这是用jsp中java代码写的输出流) ![图片说明](https://img-ask.csdn.net/upload/201905/13/1557730691_867688.png) 2.目前js导出的,就直接把excel打开了,又弹出了另存为。是这样的:(现在只用js,不能像之前那样) ![图片说明](https://img-ask.csdn.net/upload/201905/13/1557730708_914458.png) 想问下大神们,创建ActiveXObject的方式能不能实现第一种 (查了很久,貌似用a标签路径下载可以,但我是ajax查询返回的数据,在调用 exportToExcel方法,如何实现)

jxl导出excel,如果不通过写死路径来弹出保存框,如何实现导出excel弹出保存框这个功能?

web开发中,我实现了通过模板来导出excel数据,是通过写一个模板,和一个目标文件来实现的,这两个文件是写在项目里面的,但是如果是多个人查询内容不同,然后同时导出这个文件的时候可能就出现导出的结果不是自己想要的!请问各位大虾门,怎么才能避免这种情况? 也可能是我的方法写的不对,希望指点一下!听说导出excel是根据模板虚拟出一个需要导出的excel表格,当保存后,这个表格就没了!我是不懂! 下面是我写的一个jxl导出excel: java代码: public class ExportExcel { public void Excel(RequestData req){ //String path =ExportExcel.class.getResource("").getPath(); String realpath = req.getString("path")+"/模板1.xls"; System.out.println(req.getString("path")); try{ Workbook wb = Workbook.getWorkbook(new File(realpath)); //通过模板得到一个可写的Workbook:第一个参数是一个输出流对象,第二个参数代表了要读取的模板 File targetFile = new File(req.getString("path")+"/worksheet1.xls"); WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb); //选择模板中名称为StateResult的Sheet: WritableSheet wws = wwb.getSheet(0); //如果需要也可以创建Sheet //WritableSheet wws = wwb.createSheet("Sheet名称",1); //选择单元格,写入动态值,根据单元格的不同类型转换成相应类型的单元格: /********************************public*****************************/ jxl.write.NumberFormat format = new jxl.write.NumberFormat("#"); jxl.write.WritableCellFormat wcf1 = new jxl.write.WritableCellFormat(format); wcf1.setBorder(Border.ALL, jxl.format.BorderLineStyle.THIN); //Border是jxl.format.Border wcf1.setAlignment(jxl.format.Alignment.CENTRE);//设置文本对其方式,水平方向 wcf1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); WritableFont fonte= new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.NO_BOLD); jxl.write.WritableCellFormat wcf2 = new jxl.write.WritableCellFormat(fonte); wcf2.setBorder(Border.ALL, jxl.format.BorderLineStyle.THIN); //Border是jxl.format.Border wcf2.setAlignment(jxl.format.Alignment.CENTRE);//设置文本对其方式,水平方向 wcf2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//设置文本对其方式,垂直方向 /********************************public*****************************/ //(列,行) JiaGeQS instance = new JiaGeQS(); DBSet rs = instance.query(req,1); int i=0; int sum=0; while(rs.next()){ jxl.write.Label label00 = new jxl.write.Label(0, 2+i, rs.getString("htbh"),wcf2); wws.addCell(label00); String str1=""; if(rs.getString("YSFS").equals("0")){ str1="铁路"; }else{ str1="公路"; } if(rs.getString("HTKD").equals("0")){ str1 +="年度"; }else if(rs.getString("HTKD").equals("1")){ str1 +="季度"; }else if(rs.getString("HTKD").equals("2")){ str1 +="月度"; } if(rs.getString("GLFL").equals("1")){ str1 +="出省"; }else if(rs.getString("GLFL").equals("0")){ str1 +="省内"; } jxl.write.Label label01 = new jxl.write.Label(1, 2+i, str1,wcf2); wws.addCell(label01); jxl.write.Label label02 = new jxl.write.Label(2, 2+i, rs.getString("cmr"),wcf2); wws.addCell(label02); jxl.write.Label label03 = new jxl.write.Label(3, 2+i, rs.getString("msr"),wcf2); wws.addCell(label03); jxl.write.Label label04 = new jxl.write.Label(4, 2+i, rs.getString("fz")+"-"+rs.getString("dz"),wcf2); wws.addCell(label04); jxl.write.Label label05 = new jxl.write.Label(5, 2+i, rs.getString("a1"),wcf2); wws.addCell(label05); jxl.write.Label label06 = new jxl.write.Label(6, 2+i, rs.getString("a2"),wcf2); wws.addCell(label06); //jxl.write.Label label07 = new jxl.write.Label(7, 2+i, rs.getString("a16"),wcf2); jxl.write.Number number01 = new jxl.write.Number(7,2+i,rs.getInt("a16"),wcf2); wws.addCell(number01); jxl.write.Label label08 = new jxl.write.Label(8, 2+i, rs.getString("a3"),wcf2); wws.addCell(label08); jxl.write.Label label09 = new jxl.write.Label(9, 2+i, rs.getString("qysj"),wcf2); wws.addCell(label09); wws.setRowView(2+i, 370) ; sum +=rs.getInt("a16"); i++; } jxl.write.Label labeli = new jxl.write.Label(0, 2+i, "数量合计:"+sum+" 吨",wcf2); wws.addCell(labeli); wws.mergeCells(0, 2+i,9, 2+i); /********************************数字格式*****************************/ //份数 // jxl.write.Number C4 = new jxl.write.Number(1,3,2222,wcf2); // wws.addCell(C4); // C4.setCellFormat(cellFormat); //保单总印量 // jxl.write.Number C5 = new jxl.write.Number(1,4,3333,wcf2); // wws.addCell(C5); // C5.setCellFormat(cellFormat); //.................以此类推 //wws.setColumnView(1, 50) ; //设置指定列的宽度 //设置指定行的高度 //wws.mergeCells(1, 1,3, 2) ; //合并单元格(开始列,开始行,结束列,结束行) /**********************************************************************************/ wwb.write(); wwb.close(); wb.close(); }catch(Exception e){ e.printStackTrace(); } } public static void main(String[] args) { try { //upload(); } catch(Exception e) { e.printStackTrace(); } } } jsp代码,是通过js打开写死的路径: function exportExcel(){ //window.location.href="<%=request.getContextPath()%>/proj/xls/worksheet1.xls"; }

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

百度工程师,获利10万,判刑3年!

所有一夜暴富的方法都写在刑法中,但总有人心存侥幸。这些年互联网犯罪高发,一些工程师高技术犯罪更是引发关注。这两天,一个百度运维工程师的案例传遍朋友圈。1...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

内容导航: 1、TIOBE排行榜 2、总榜(2020年6月份) 3、本月前三名 3.1、C 3.2、Java 3.3、Python 4、学习路线图 5、参考地址 1、TIOBE排行榜 TIOBE排行榜是根据全世界互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据。

阿里面试官让我用Zk(Zookeeper)实现分布式锁

他可能没想到,我当场手写出来了

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

​能让德国人放弃现金支付​,也没谁了

在新冠疫情中,德国人越来越多地选择在超市,加油站或其他商店付款时使用非接触式付款方式。德国信贷协会Deutschen Kreditwirtschaft (DK) 的一位发言人告诉德国新...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

立即提问
相关内容推荐