EXCE怎么excel间隔列引用引用蓝色的数据

一、人民币货币符号怎么 以excel为例,首先在单元格中输入数字“58”,然后单击“开始”选项卡“数字”下拉列表中的“货币”命令,这时就为自动显示为货币形式了,这种方式是可以对整个行或列进行货币设置的,当然如果你在Word或Excel中只需单个输入人民币符号只需采用全角的中文输入4/$这个键就自动会显示¥符号了,你也可以采用插入符号的方式进行输入货币符号。 二、Excel更改默认货币格式 在Excel中有时不一定用的是人民币符号,可能用到其他货币符号,这时我们可以更改默认货币格式,具体步骤方法如
也许你已经在Excel中完成过上百张财务报表,也许你已利用Excel函数实现过上千次的复杂运算,也许你认为Excel也不过如此,甚至了无新意。但我们平日里无数次重复的得心应手的使用方法只不过是Excel全部技巧的百分之一。本专题从Excel中的一些鲜为人知的技巧入手,领略一下关于Excel的别样风情。 方法/步骤 一、让不同类型数据用不同颜色显示 在工资表中,如果想让大于等于2000元的工资总额以“红色”显示,大于等于1500元的工资总额以“蓝色”显示,低于1000元的工资总额以“棕色”显示,其
可以采用多种方法运行宏。您始终可以使用菜单命令运行宏。您也可以通过按 Ctrl 组合快捷键、单击工具栏按钮或单击对象、图形或控件上的某个区域来运行宏,具体取决于为宏指定的运行方式。另外,您可以在打开工作簿时自动运行宏。下面有个在运行宏过程中小问题,不知大家有没有遇到。 描述:有写好的宏要运行,老是提示不行,降低了安全级别 了还是提示要改一些软件的参数,是不是运行宏真的很麻烦,要怎么弄啊 解决步骤: 1、工具-宏-录制新宏,会出现对话框,设置快捷按钮(编辑区会出现一个小工具栏,先不
复制粘贴在电脑操作中是常用的功能,然而在Word、Excel中不有一种粘贴是选择性粘贴,那么这2种粘贴有什么区别以及选择性粘贴怎么用呢。 一、粘贴与选择性粘贴的区别 普通的粘贴能够把复制的内容进行默认粘贴过来,包括复制的所有格式,如果在Excel中的话同样包括各种格式,以及公式甚至单元格对应的运算,而选择性粘贴可以根据用户自己来选择某种方式进行粘贴,这样更为灵活。 二、Word、Excel中选择性粘贴怎么用 1、Word中进行选择性粘贴操作方法也不复杂,操作步骤如下: a、首先选择要复制的内容
excel中的表格怎样转换成WORD表格 首先,用Excel编辑好一个表格,然后点击“文件”→“另存为web页”。web页就是网页文件,在“保存选项”处把“保存整个工作簿”调整成“选择:工作表”,把默认文件名“page.htm”根据实际情况改成你所需要的名字,如:“工作表.htm”,再点击“保存”。注意,在改名时绝对不可以把后面的.htm去掉,只要改“.”前面的部分就可以了。 找到刚才保存好的“工作表.htm”,如果你所安装的操作系统是WindowsXP或Windows2000,可以在文件上面直
我们在用Excel 输入身份证号码、银行账户等较长数字后,会变成了有加号和字母的形式了(如下图),为什么呢? 这是一个普遍的数字输入问题。Excel 中默认的数字格式是“常规”,最多可以显示11位有效的数字,超过11位就会以科学记数形式表达。 要输入多位数字且能完全显示,可以尝试以下两种方法: 一、将单元格格式设置为文本 选中目标单元格,右击鼠标,选择“设置单元格格式”。 在“数字”选项卡上,从“分类”下面选中“文本”选项。按“确定”按钮保存设置。 再输入身份证号码即可。
每个EXCEL工作表单元格都有一个自己的默认的名称,也就是单元格坐标,如A1,A2,那么excel中的单元格怎么重命名?下面小编就为大家介绍一下,希望能帮到大家! 方法/步骤 打开要编辑的excel表格。 选中要命名的单元格,可知其在左上方是有一个默认名称的,我们来修改其名称,输入需要的表格名称,按回车键即为所选单元格命名成功。 还有一中快速为单元格命名的方法,即选定要命名的单元格,鼠标右键单击。选择"命名单元格区域"。 单击"命名单元格区域"。在新建名称的对话框中可以输入要设置的单元格名称,还
VBE——Visual Basic Edirtor,如果大家对微软的一门编程语言有所了解的话,那对VBE的样子也就不会陌生的。那怎么进入VBE呢? 从Excel菜单中,选择工具——宏——Visual Basic 编辑器,或者按快捷键Alt+F11即可进入,不少朋友可能都没有接触过VBE,甚至连Excel中包含这个编辑器都一无所知,下面这张图就展现出VBE最常用的七个窗口,而图片也让这几个窗口更容易说明。 VBE的七个常用窗口的用途 上个文章已用图片给出了七个常用窗口的图片,图片中可以很清楚地看到
可以使用 Microsoft Office Excel 将数据从文本文件导入工作表中。该文本导入向导可检查您正在导入的文本文件,并能确保以您期望的方式导入数据。 步骤 1(共 3 步) 原始数据类型 如果文本文件中的项以制表符、冒号、分号、空格或其他字符分隔,则选择“分隔符号”。如果文本文件中的所有项的长度相同,则选择“固定宽度”。 导入起始行 键入或选择行号以指定要导入数据的第一行。 文件原始格式 选择文本文件中使用的字符集。 大多数情况下,可以保持文本格式的默认设置。如果
今天我们继续看关于Excel数据导入的话题。因为导入的文本文件与外部文本文件实际上仍是存在连接的,所以任何对外部文本文件的改动都可以在Excel中得到刷新。 1.自动刷新 Excel可以自动每隔一段时间刷新导入的文本,也可以在打开包含导入文本的工作簿时自动刷新。 在导入的文本中单击某个单元格,然后单击“外部数据”工具栏中的“数据区域属性”按钮,如图所示。 图 在如下图所示的“外部数据区域属性”对话框中选中“刷新频率”复选框,并在右侧设置时间间隔,即可实现自动刷新。或者选中复选
Microsoft Query 查询定义可以保存在扩展名为qdy的文件中,打开qdy文件读取外部数据后,excel默认将查询定义和数据一道保存在excel文件中的。更新数据时只要刷新数据(点击“全部刷新”按钮)就行了。如果没有“全部刷新”按钮,点击菜单“工具”--“自定义”,勾选“外部数据”即可。 新的查询也可以复制当前建立好查询工作表后点击菜单“数据”—“导入外部数据”—“编辑查询”进入Microsoft Query编辑界面,修改SQL语句,产生一个新的查询。当向导无法建立的复杂查询也
Excel中的图表可以嵌入到数据工作表中,也可以单独存放到图表工作表中。图表工作表中的图表可以直接进行打印。而要单独打印嵌入式图表,只需选择该图表,然后进行打印即可。下面是几个在Excel中打印图表的小技巧: 1.打印嵌入式图表不变形 在Excel 2003中,打印嵌入式图表时,默认会使用整个页面来打印图表,这可能会使打印后的图表产生变形,可以通过下面的方法来解决这个问题: 选择要打印的图表,单击菜单“文件→页面设置→图表”,在“图表”选项卡中选择“调整”。 单击“确定”,然后再
Excel网格线是是辅助我们编辑工作表使用的。如果需要,也可以将Excel网格线打印出来。Excel网格线相关的知识点下面逐一介绍。 第一:excel显示网格线 在Excel2007和Excel2010中,单击“视图”选项卡,勾选显示——“网格线”复选框,excel即可显示网格线。 第二:excel不显示(取消)网格线 再次单击“视图”选项卡,取消勾选显示——“网格线”复选框,excel即可不显示(取消)网格线,这样就去掉了网格线。 勾选与不勾选网格线,来设置网格线在编辑表时
在Excel 中,工作簿的默认保存格式为“Exeel工作簿(xlsx)”,如果要将其保存为其他格式,如启用宏的工作簿、Excel模板等,可手动进行更改,其具体操作如下: 一、Excel2010版本操作方法 步骤一、首选Excel2010的“文件”选项卡,然后单击“选项”按钮,如图所示: 步骤二、打开“ExceI选项”对话框,单击“保存”选项卡,在其界面的“保存工作簿”栏的“将文件保存为此格式”下拉列表框中选择需要保存的格式选项即可,如图所示: 二、Excel2003版本操作方
方法一:可以利用Excel中的绘图工具。Excel中的绘图工具栏在默认情况下没有打开,在工具栏空白处点击右键,打开绘图工具栏。然后调整好单元格的大小,画好所需斜线,在空白处画文本框,输入表头文字,然后双击设置文本框格式,选择“颜色与线条”标签,“填充颜色”选择“无填充色”,“线条颜色”选择“无线条色”。 按住“Ctrl”键的同时拖动刚才建立的文本框,复制带有格式的文本框,更改里面的文字,然后利用“Shift+点击”选中表头的对象,单击右键,选择“组合”即可。 技术要点:使用“单元格格式”对话框中
我用Excel来管理各种各样的表格,这些表格的标题基本上是由单位名称加年份、月份和表格名称组成的。每隔一段时间打印这些表格时,都要将所有表格标题中的部分内容(如单位名称、年份或月份)重新进行更改,操作时不仅繁琐,而且容易出错。 如果能做一个动态表头,将所有标题需要变动的部分做成单元格的引用,只要改动一处,所有的标题将一起跟着改变,这样就方便多了。后来经过尝试实现了这个目标: 1. 制作表格标题初始化界面 为了操作方便,我们先插入一张新工作表,命名为“初始化”。在C7单元格中输入“
《Excel2003入门动画教程66、Excel中如何数据分列的》。 演示动画 操作步骤 如果一列英文和中文组合的字符数据,中间用“-”隔开了,如何将他们分开保存到两列中呢?我们可以用Excel中数据分列来解决。 选中相应的列,执行“数据分列”命令,启动“文本分列向导-3之步骤之一”,选中“分隔符号”选项(通常是默认选项),单击“下一步”按钮,选中“其它”选项,并在后面的方框中输入“-”,按下完成按钮即可。 注:有关分列的其它类型,请大家参看相关的帮助文件,并进行实际练习
在Excel中常常处理完表格以后少不了将它们保存起来,但是Excel自动保存路径又不是自己理想的位置,每次都要选择保存的路径,如果能将这个步骤减去,直接保存到自己想要的路径就好了。这个问题不难,其实在Excel中早已经有了这个功能,只是你没灵活的运用罢了,记得我们曾今提到过类似的问题《Word2007文档“默认文件位置”设置》。 其实我们可以自由修改Excel默认保存路径。下面就一起来看看Word联盟如何操作吧! 步骤一、打开Excel表格,选择菜单栏的“工具”中的“选项”; 步
Excel中的图表可以嵌入到数据工作表中,也可以单独存放到图表工作表中。图表工作表中的图表可以直接进行打印。而要单独打印嵌入式图表,只需选择该图表,然后进行打印即可。下面是几个在Excel中打印图表的小技巧: 1.打印嵌入式图表不变形 在Excel 2003中,打印嵌入式图表时,默认会使用整个页面来打印图表,这可能会使打印后的图表产生变形,可以通过下面的方法来解决这个问题: 选择要打印的图表,单击菜单“文件→页面设置→图表”,在“图表”选项卡中选择“调整”。 单击“确定”,然后再打印的图表。该选
要在后面加入.jpg 但太多了,Excel有没有什么命令能批量在名字后面修改的?如下图所示: 以上问题,经百度搜索之后寻得一篇不错的教程,可以解决此类问题,需要的朋友可以看看下文: 在籍学生全部都要用电子相片来制作学籍电子档案。学生照片用数码相机很快就可搞定,可照完后却发现文件名的设定可是个问题。我校数码相机型号为尼康E7600相机,照出的相片自动以DSCN0001.JPG为首文件名来依次命名。可是要存入学籍管理软件的电子相片文件名要求以学生的入学学籍为相应文件名。要是全部逐一改名的话,那可麻烦Excel数据导入(下拉列表和ID隐藏域) - 蓝色的博客 - ITeye技术网站
博客分类:
当我们导入excel数据到数据表中时,如果数据表中包含其他维表数据的外键,可以通过此方法实现。
1.模板中的下拉数据源准备excel模板当点击下载模板的时候,通过后台sql查询出维表结果集通过POI存入模板中,尽量选择靠后的列,并且隐藏。
例如隐藏Z、Y列,如图:
2.设置单元格为下拉列表数据-&数据验证-&设置。如图:
3.自动带出下拉数据的ID(可以考虑将ID列放到靠后的列中并且隐藏)重点是通过公示进行引用,例如:=INDEX(Y:Y,MATCH(C:C,Z:Z,0))。(1)INDEXINDEX函数是返回表或区域中的值或对值的引用。语法:INDEX(array,row_num,column_num),引用array的数据范围中,的第row_num行、column_num列的数据。 (2)MATCHMATCH函数含义:返回指定数值在指定数组区域中的位置。语法:MATCH(lookup_value, lookup_array, match_type),查找lookup_array的数据范围中,lookup_value的数据,match_type数值为0(等于)、1(小于等于)、-1(大于等于)。(3)=INDEX(Y:Y,MATCH(C:C,Z:Z,0))含义引用Y列的数据,引用规则,根据C列等于Z列的时候,取Y列的数据。当选择下拉列表中的数据时,选择之后如果满足条件,会自动赋值ID到引用公式的列。如图:
mengqingyu
浏览: 141278 次
来自: 天津
liuxiaolu 写道jotm的我的没有成功,楼主能否帮助一 ...
jotm的我的没有成功,楼主能否帮助一下
求解救,没弄好QQ:
web可视化自定义表单推荐使用GForms开发平台(http: ...
求一份demo,23559人阅读
   首先大家先了解一下以下内容:引用 
    java解析Excel(兼容)
刚开始从网上找了个例子使用new HSSFWorkbook(new FileInputStream(excelFile))来读取Workbook,
对Excel2003以前(包括2003)的版本没有问题,但读取Excel2007时发生如下异常:
org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead
&&&&&&& 该错误意思是说,文件中的数据是用Office2007+XML保存的,而现在却调用OLE2 Office文档处理,应该使用POI不同的部分来处理这些数据,比如使用XSSF来代替HSSF。
&&&&&&& 于是按提示使用XSSF代替HSSF,用new XSSFWorkbook(excelFile)来读取Workbook,对Excel2007没有问题了,可是在读取Excel2003以前(包括2003)的版本时却发生了如下新异常:
org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file: '*.xls'
&&&&&&& 该错误是说,操作无效,不能打开指定的xls文件。
&&&&&&& 到网上查了下,原来是XSSF不能读取Excel2003以前(包括2003)的版本,这样的话,就需要在读取前判断文件是2003前的版本还是2007的版本,然后对应调用HSSF或XSSF来读取。
&&&&&&& 这种做法比较麻烦,看了下API,发现XSSF和HSSF虽然在不同的包里,但却引用了同一接口Workbook,于是想到了这样的读取方法:
&&&&&&& Workbook book =
&&&&&&& try {
&&&&&&&&&&& book = new XSSFWorkbook(excelFile);
&&&&&&& } catch (Exception ex) {
&&&&&&&&&&& book = new HSSFWorkbook(new FileInputStream(excelFile));
本认为程序应该没错了吧,但一运行还是报错(当时用得是poi3.6的zip包):
java.lang.ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet
网上搜了下,是少poi-ooxml-schemas-xxx.jar包,根据提示在Apache网站上(/apache-mirror//poi/release/bin/)下载了3.7的zip文件(poi-bin-3.7-.zip),解压后将poi相关的包和xml相关的包都放上去。
在各版本的Excel中测试,没有发生异常,问题解决。
下面是POI的API网址,不过是英文的:
POI API Documentation
   转入正题:以下是代码,代码也是从别人的代码拿过来的,其中修改了部分
package com.
import java.io.F
import java.io.FileInputS
import java.io.IOE
import java.io.InputS
import java.util.ArrayL
import java.util.L
import org.apache.poi.hssf.usermodel.HSSFC
import org.apache.poi.hssf.usermodel.HSSFW
import org.apache.poi.ss.usermodel.C
import org.apache.poi.ss.usermodel.R
import org.apache.poi.ss.usermodel.S
import org.apache.poi.ss.usermodel.W
import org.apache.poi.xssf.usermodel.XSSFW
* @描述:测试excel读取
导入的jar包
poi-3.8-beta3-.jar
poi-ooxml-3.8-beta3-.jar
poi-examples-3.8-beta3-.jar
poi-excelant-3.8-beta3-.jar
poi-ooxml-schemas-3.8-beta3-.jar
poi-scratchpad-3.8-beta3-.jar
xmlbeans-2.3.0.jar
dom4j-1.6.1.jar
jar包官网下载地址:http://poi.apache.org/download.html
下载poi-bin-3.8-beta3-.zipp
* @作者:建宁
* @时间: 下午16:27:15
public class ImportExecl
/** 总行数 */
private int totalRows = 0;
/** 总列数 */
private int totalCells = 0;
/** 错误信息 */
private String errorI
/** 构造方法 */
public ImportExecl()
* @描述:得到总行数
* @作者:建宁
* @时间: 下午16:27:15
* @参数:@return
* @返回值:int
public int getTotalRows()
return totalR
* @描述:得到总列数
* @作者:建宁
* @时间: 下午16:27:15
* @参数:@return
* @返回值:int
public int getTotalCells()
return totalC
* @描述:得到错误信息
* @作者:建宁
* @时间: 下午16:27:15
* @参数:@return
* @返回值:String
public String getErrorInfo()
return errorI
* @描述:验证excel文件
* @作者:建宁
* @时间: 下午16:27:15
* @参数:@param filePath 文件完整路径
* @参数:@return
* @返回值:boolean
public boolean validateExcel(String filePath)
/** 检查文件名是否为空或者是否是Excel格式的文件 */
if (filePath == null || !(WDWUtil.isExcel2003(filePath) || WDWUtil.isExcel2007(filePath)))
errorInfo = &文件名不是excel格式&;
/** 检查文件是否存在 */
File file = new File(filePath);
if (file == null || !file.exists())
errorInfo = &文件不存在&;
* @描述:根据文件名读取excel文件
* @作者:建宁
* @时间: 下午16:27:15
* @参数:@param filePath 文件完整路径
* @参数:@return
* @返回值:List
public List&List&String&& read(String filePath)
List&List&String&& dataLst = new ArrayList&List&String&&();
InputStream is =
/** 验证文件是否合法 */
if (!validateExcel(filePath))
System.out.println(errorInfo);
/** 判断文件的类型,是2003还是2007 */
boolean isExcel2003 =
if (WDWUtil.isExcel2007(filePath))
isExcel2003 =
/** 调用本类提供的根据流读取的方法 */
File file = new File(filePath);
is = new FileInputStream(file);
dataLst = read(is, isExcel2003);
is.close();
catch (Exception ex)
ex.printStackTrace();
if (is != null)
is.close();
catch (IOException e)
e.printStackTrace();
/** 返回最后读取的结果 */
return dataL
* @描述:根据流读取Excel文件
* @作者:建宁
* @时间: 下午16:40:15
* @参数:@param inputStream
* @参数:@param isExcel2003
* @参数:@return
* @返回值:List
public List&List&String&& read(InputStream inputStream, boolean isExcel2003)
List&List&String&& dataLst =
/** 根据版本选择创建Workbook的方式 */
Workbook wb =
if (isExcel2003)
wb = new HSSFWorkbook(inputStream);
wb = new XSSFWorkbook(inputStream);
dataLst = read(wb);
catch (IOException e)
e.printStackTrace();
return dataL
* @描述:读取数据
* @作者:建宁
* @时间: 下午16:50:15
* @参数:@param Workbook
* @参数:@return
* @返回值:List&List&String&&
private List&List&String&& read(Workbook wb)
List&List&String&& dataLst = new ArrayList&List&String&&();
/** 得到第一个shell */
Sheet sheet = wb.getSheetAt(0);
/** 得到Excel的行数 */
this.totalRows = sheet.getPhysicalNumberOfRows();
/** 得到Excel的列数 */
if (this.totalRows &= 1 && sheet.getRow(0) != null)
this.totalCells = sheet.getRow(0).getPhysicalNumberOfCells();
/** 循环Excel的行 */
for (int r = 0; r & this.totalR r++)
Row row = sheet.getRow(r);
if (row == null)
List&String& rowLst = new ArrayList&String&();
/** 循环Excel的列 */
for (int c = 0; c & this.getTotalCells(); c++)
Cell cell = row.getCell(c);
String cellValue = &&;
if (null != cell)
// 以下是判断数据的类型
switch (cell.getCellType())
case HSSFCell.CELL_TYPE_NUMERIC: // 数字
cellValue = cell.getNumericCellValue() + &&;
case HSSFCell.CELL_TYPE_STRING: // 字符串
cellValue = cell.getStringCellValue();
case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean
cellValue = cell.getBooleanCellValue() + &&;
case HSSFCell.CELL_TYPE_FORMULA: // 公式
cellValue = cell.getCellFormula() + &&;
case HSSFCell.CELL_TYPE_BLANK: // 空值
cellValue = &&;
case HSSFCell.CELL_TYPE_ERROR: // 故障
cellValue = &非法字符&;
cellValue = &未知类型&;
rowLst.add(cellValue);
/** 保存第r行的第c列 */
dataLst.add(rowLst);
return dataL
* @描述:main测试方法
* @作者:建宁
* @时间: 下午17:12:15
* @参数:@param args
* @参数:@throws Exception
* @返回值:void
public static void main(String[] args) throws Exception
ImportExecl poi = new ImportExecl();
// List&List&String&& list = poi.read(&d:/aaa.xls&);
List&List&String&& list = poi.read(&c:/book.xlsx&);
if (list != null)
for (int i = 0; i & list.size(); i++)
System.out.print(&第& + (i) + &行&);
List&String& cellList = list.get(i);
for (int j = 0; j & cellList.size(); j++)
// System.out.print(&
第& + (j + 1) + &列值:&);
System.out.print(&
& + cellList.get(j));
System.out.println();
* @描述:工具类
* @作者:建宁
* @时间: 下午16:30:40
class WDWUtil
* @描述:是否是2003的excel,返回true是2003
* @作者:建宁
* @时间: 下午16:29:11
* @参数:@param filePath 文件完整路径
* @参数:@return
* @返回值:boolean
public static boolean isExcel2003(String filePath)
return filePath.matches(&^.+\\.(?i)(xls)$&);
* @描述:是否是2007的excel,返回true是2007
* @作者:建宁
* @时间: 下午16:28:20
* @参数:@param filePath 文件完整路径
* @参数:@return
* @返回值:boolean
public static boolean isExcel2007(String filePath)
return filePath.matches(&^.+\\.(?i)(xlsx)$&);
 算吧!  我把我的源码也放上—— 哈哈
&&&&&&&&&&&
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:280482次
积分:3639
积分:3639
排名:第4372名
原创:36篇
转载:44篇
评论:595条
(2)(3)(2)(1)(2)(3)(2)(6)(3)(1)(1)(9)(7)(3)(6)(7)(9)(10)(1)(1)(1)访问本页面,您的浏览器需要支持JavaScript

我要回帖

更多关于 excel间隔行取数据 的文章

 

随机推荐