虚拟货币itc
『壹』 the APEC Leaders' Economic Vision Statement 是什么意思
the APEC Leaders' Economic Vision Statement 是什么意思
APEC(亚太经济合作组织)领袖对经济展望声明
(HRD WG)
BMN
APEC企业管理网路(人力资源工作小组)
APEC Business Card
APEC商务卡
APEC Business Volunteer Program
APEC商务自愿计画
APEC Center for Entrepreneurship Development
APEC企业家发展中心
APEC Communication and Database System
ACDS
APEC通讯与资料库系统
APEC Council of Academies Of Applied Sciences and Engineering
APEC-CASE
APEC应用科学与工程学术委员会
Customs Instry Symposium
APEC关务工业研讨会
APEC Economic Leaders Meeting
AELM
APEC经济领袖会议
APEC Economic Leaders Vision Statement
APEC领袖对经济展望声明
APEC Ecation Hub
APEC教育中心
APEC Ecation Network
ENet
APEC教育网路
APEC Ecational Foundation
APEC EF
APEC教育基金
APEC Guidebook on Investment Regimes
APEC投资制度指南
APEC Investment Guidebook
APEC投资指南
APEC Leader's Ecation Initiative
ALEI
APEC领袖教育倡议
APEC Non-Binding Investment Principles
APEC NBIP
APEC不具约束力投资原则
APEC Pacific Business Forum
APBF
APEC太平洋企业论坛
APEC Science and Technology Parks Network
APEC科学园区网路
APEC Study Center
ASC
APEC研究中心
APEC Virtual Center for Environmental Technology Exchange
APEC环境计术交换虚拟中心
APEC Voluntary Investment Projects
APEC VIP / AVIP
APEC自愿性投资方案
Asia Pacific Information Instry Technology Center
APIITC
亚太资讯产业技术中心
Arab Bank for Economic Development in Africa
BADEA
非洲经济发展阿拉伯银行
Arbitration Act 1987
1987年仲裁法
Arbitration Agreement
仲裁协定
ASEAN Consultative Committee on Standards and Quality
ACCSQ
东南亚国协标准及品质谘询委员会
ASEAN Free Trade Area
AFTA
东协自由贸易区
ASEAN Regional Forum
ARF
东协区域论坛
ASEAN-EC Energy Management Training and Research Center
AEEMTRC
东南亚国协-欧洲共同体能源管理训练与研究中心
Asia Coordinating Meetings of Codex
亚洲代码统合会议
Asia Monetary Fund
AMF
亚洲货币基金
Asia Pacific Economic Cooperation
APEC
亚太经济合作会议
Asia Pacific Investment Institute
APII
亚太投资机构
Asia Pacific Laboratory Accreditation Cooperation
APLAC
亚太实验室认证合作
Asia Pacific Metrology Forum
APMP
亚太度量衡论坛
Asia Pacific Telecommunity
APT
亚太电信社区
Asia/Pacific Annual International Seminar on Copyright and Neighboring Rights
亚太年度版权与邻接权国际研讨会
Asian Development Bank
ADB
亚洲开发银行
Asian- Pacific Business Network
APBNet / APB-NET
亚太企业网路
Asian Single Tariff Policy
ASTP
亚洲单一税则政策
Asia-Pacific Advanced Network
APAN
亚太高等网路
Asia-Pacific Copyright Systems Enhancement
APCSE
亚太版权制度之加强
Asia-Pacific Energy Research Center
APERC
亚太能源研究中心
Asia-Pacific Laboratory Accreditation Conference Mutual Recognition Arrangement
亚太实验室认证会议相互承认协定
Asset-Backed Securities
资产担保证券
Association for Overseas Technical Scholarship
AOTS
海外技术奖学金协会
Association of Pacific Rim Universities
APRU
环太平洋大学协会
Association of Southeast Asian Nations
ASEAN
东南亚国家协会(东协)
Asynchronous Transmission Mode Communication Network
异步传输模式通讯网路
ATC (Uruguay Round Agreement on Textiles and Clothing)
乌拉圭回合纺织品与成衣协定
Australia Center for International Commercial Arbitration
ACICA
澳洲国际商业仲裁中心
Australia Commercial Disputes Center
ACDC
澳洲商业争议中心
Australia/New Zealand Closer Economic Relations Trade Agreement
ANZCERTA
澳纽紧密经济关系贸易协定
Australian Civil Offsets Agreement
ACOA
澳洲国民补偿协定
Australian Competition and Consumer Commission
ACCC
澳洲竞争暨消费者委员会
Australian Quarantine Inspection Service
AQIS
澳洲检疫措施
Automated Commercial Environment
ACE
自动化商业环境
Automated Commercial System
ACS
自动化商业系统
Automated Entry Processing System
AEPS
自动化输入处理系统
Automated Export System
AES
自动化出口系统
Automatic Import Licensing
自动进口许可
Automatic Teller Machines
ATMs
自动柜员机
Balance of Payments Manual
BPM
收支平衡手册
Bank of International Settlement
BIS
国际清算银行
Basel Convention
BC
巴赛尔公约
Benchmarking and Diagnostic Tools
检测标准和诊断工具
Berne Convention for the Protection of Literary and Artistic Works
文学与艺术作品保护伯恩公约
Best Practices Guidelines for IAPs
个别行动计画最佳推动措施指导纲领
Bilateral Investment Treaties
BITs
双边投资协定
Bill of Lading
B/L
提单
BIPM (International Bureau of Weights and Measures)
国际度量衡局
BMN (APEC Business Management Network) (HRD MG)
APEC企业管理网路(人力资源工作小组)
Board of Film Censors
BFC
影片检查局
Bogor Declaration
BD
茂物宣言
Bonded Warehouse
保税仓库
Bonded Zones
保税特区
Brunei Oil and Gas Authority
BOGA
汶莱石油与天然气管理局
Brunei Shell Petroleum Company Sdn Bhd
BSP
汶莱蚬壳石油公司
Brussels Definition of Value
BDV
布鲁塞尔核价定义
Budapest Treaty on the International Recognition of the Deposit of Microorganisms for the Purposes of Patent Procere
微生物有机体保存专利程序之国际认可布达佩斯协定
Build, Operate, Transfer
BOT
建造-营运-移转
Build, Own, Operate
BOO
建造-拥有-营运
Bureau of Customs
BOC
关政司
Bureau of Immigration
BOI / BI
移民局
Bureau of Immigration and Deportation
BID
入出境管理局
Bureau of Proct Standards
BPS
商品标准局
Business Facilitation Process
商业便捷流程
Business Facilitation Steering Group
BFSG
商务便捷化推动小组
Business Homepage
商业首页
Business Management Network
BMN
企业管理网路
Business Practices Act
BPA
商业实施法
Business Travel Handbook
BTH
商务旅行手册
Business Volunteers Program
BVP
企业义工计画
Canada-Australia Trade Agreement
CANATA
加澳贸易协定
Caribbean Basin Initiative
CBI
加勒比海盆地倡议
Caribbean Community and Common Market
CARICOM
加勒比海共同体与共同市场
Caribbean Development Bank
CDB
加勒比海开发银行
Cellular Mobile Telephone Services
CMTS
数据式行动电话服务
Centers for Arbitration
仲裁中心
Central African Customs and Economic Union
UDEAC
中部非洲关税及经济联盟
Central African States Development Bank
BDEAC
中非洲国家开发银行
Central American Bank for Economic Integration
BCIF
中美洲经济整合银行
Central American Common Market
CACM
中美洲共同市场
Central Bank of the Philippines
BSP
菲律宾中央银行
Central Pharmaceutical Affairs Council
CPAC
中央药品管理委员会
Centre for Strategic and International Studies
CSIS
战略与国际研究中心
Certificate of Conformance
符合证明
Certificate of Origin
CO, C/O
原产地证明
Certificates of Quota Eligibility
CQE
配额合格证书
Certification / Registration Bodies
证明/登记团体
Chartered Association of Certified Accounts
CACA
合格会计师协会
Chlorofluorocarbons
CFCs
氟氯碳化物
Clean Report of Findings
CRF
无瑕疵检验报告
Cleaner Proction Strategy
清洁生产策略
Codex Alimentarius Commission
CAC
食品标准委员会
Collective Action Plan
CAP
共同行动计画
Commission on Sustainable Development
永续发展委员会
Committee for the Implementation of Textile Agreements
CITA
纺织品协定执行委员会
Committee of the Whole
COW
全体委员会
Committee on Customs Valuation
CCV
海关估价委员会
Committee on Import and Export
COIE
进出口委员会
Committee on Information, Computer and Communications Policy
ICCP
资讯、电脑、通信政策委员会
Committee on Subsidies and Countervailing Measures
SCM
补贴与平衡措施委员会
Committee on Trade and Investment
CTI
贸易暨投资委员会
Committee on Weights and Measures
CWM
度量衡委员会
Common Effective Preferential Tariff Scheme
CEPT
共同有效优惠关税计画
Commonwealth Act
CA
国协法案
Commonwealth Arbitration Assistance Service
CAAS
国协仲裁服务处
Communication Authority of Thailand
CAT
泰国电信局
Community of Asia Pacific Economies
亚太经济社区
Competition Liberalization
竞争性自由化
Competition Policy
CP
竞争政策
Comprehensive Drug Abuse Prevention and Control Act
CDAPC
预防与管制药物滥用法案
Computer Reservation systems
CRS
电脑储存系统
Concentration on Mass Media Ownership
传播媒体所有权集中
Conference on Labor Issues in Foreign-Affiliated Companies
CLIFC
外商公司劳工问题会议
Conformance Certificates on Laboratory Accreditation
实验室认证的符合性证明书
Congestion Points
拥塞点
Construction Standards Law
CSL
营建标准法
Consumer Protection Act
CPA
消费者保护法
Controlled Substances Import and Export Act
CSIEA
管制药品进出口法
Convention for the Protection of Procers of Phonograms Against Unauthorized Duplication of Their Phonograms
音乐制作人反作品被盗录保护公约
Convention on International Trade in Endangered Species of Wild Fauna and Flora
CITES
濒临绝种野生动植物国际贸易公约(华盛顿公约)
Convention on Psychotropic Substances
CPS
精神性药品公约
Convention on the Recognition and Enforcement of Foreign Arbitral Awards
外国仲裁判断之承认与执行公约
Convention Treaty of the Metre;La Convention Du Metre
度量衡公约
Core Competence
核心竞争力
Cost, Insurance and Freight Value
C.I.F. Value / CIF
到岸价格∕起岸价格
Council for Mutual Economic Assistance
CMEA
经济互助委员会
Council for Security Cooperation in Asia Pacific
CSCAP
亚太安全合作理事会
Council of Arab Economic Unity
CAEU
阿拉伯经济团结会议
Council of the Automated Customs Clearance System for Sea Cargo
海运货物自动化通关系统委员会
Cross- Border Flow Committee
跨境流通委员会
Cross Cultural Technology
CCT
跨文化科技
Cross-cutting Issues
跨领域议题
Customer Service Standard
CSS
顾客服务准则
Customs Bulletin
CB
关务公告
Customs Control Information System
CCIS
关税控制资讯系统
Customs Cooperation Council
CCC
关税合作理事会
Customs Cooperation Fund
CCF
关税合作基金
Customs Duties
关税
Customs Proceres
关务程序
Customs Tariff Law
CTL
海关税则法
Customs Tariff Scheles of Japan
日本海关关税总表
Customs Valuation Agreement
CVA
关税估价协定
Data Stream Technology
DST
资料流动科技
Declaration for Strengthening Framework for Economic Cooperation and Development
DSFECD
加强经济合作发展架构宣言
Declaration on Standards and Conformance Framework
标准与符合性架构宣言
Department of Energy
DOE
能源部
Department of Labor and Employment
DOLE
劳工暨就业部
Department of Tourism
DOT
观光部
Deregulation
解除管制
Deregulation Action Program
DAP
解除管制行动计划
Designated Inward Investors
法定对内投资人
Developed Countries
已开发国家
Developing Countries
未开发国家
Development & Cooperation Steering Group
DCSG
开发合作推动小组
Different Customs
DC
差别关税
Direct Trader Input
DTI
贸易商直接输入
Director-General of Customs
海关总局长∕海关总税务司
Discretionary Import Licensing
无条件进口许可
Dispute Mediation
争端调解
Distance Learning Project
DLP
远距离学习方案
Distributed Entry Processing System
DEPS
分配入关程序系统
Double Tax Dection
双重课税减免
Double Taxation Agreement
DTA
双重课税协定
Down Payment
头期款
Drug Administration Division
药物管理课
Drug Enforcement Administration
DEA
药物执行管理局
Duties and Taxes Automated Computation
DTAC
自动化电脑课税
Early Voluntary Sectoral Liberalization
EVSL
部门提前自由化
East African Development bank
EADB
东非开发银行
East Asian Economic Caucus
EAEC
东亚经济圈
East Asian Economic Group
EAEG
东亚经济集团
Economic & Social Commission for Asia and the Pacific Cooperation
ESCAP
亚太合作经济与社会委员会
Economic and Technology Cooperation
ECOTECH
经济与技术合作
Economic Committee
EC
经济委员会
Economic Development Zone
EDZ
经济开发区
Economic Infrastructure
经济基础建设
Economy /Economies
经济体
Ecation Forum
EDFOR
教育论坛
ENet (APEC Ecation Network)
APEC教育网路
Electronic Authentication
共同电子辨识
Electronic Commerce
电子商务
Electronic Data Interchange
EDI
电子资料交换
Electronic Database Bulletin Website
EDB Website
电子资料库布告栏网址
Electronic Document Handling
电子文件处理
Electronic Filing Service
电子档案服务
Electronic Information Service
电子资讯服务
Electronic Travel Authorities
ETA
电子传讯权
Emergency (Arbitration) Order 1994
1994年紧急(仲裁)令
Emergency Preparedness in APEC
APEC紧急应变
Eminent Persons Group
EPG
名人小组
Enabling Legislation
权力授予法
Endangered Species Act
ESA
濒临绝种动植物法
Endorsed Supplier Arrangement
ESA
认同代理协议
Energy Policy Act
EPACT
能源政策法案
Energy Working Group
EWG
能源工作小组
Entry Processing Division
EPD
入关程序部
Environmental Management Standards
EMS
环境管理标准
Europe Accreditation League
EAL
欧洲认证联盟
European Community
EC
欧洲共同体
European Economic Community
EEC
欧洲经济共同体
European Free Trade Association
EFTA
欧洲自由贸易协会
European Investment Bank
EIB
欧洲投资银行
European Union
EU
欧洲联盟
Ex-Factory Price
工厂交货价
Facilitation, Accountability, Consistency, Transparency, Simplification
FACTS
便捷化,
『贰』 如何开发数字货币
谢邀~
为何要开发数字货币?从中央银行的角度来看有6个好处:
第一、提升经济交易活动的便利性和透明度
第二、降低传统纸币发行、流通的高昂成本
第三、更好地支持经济和社会发展
第四、助力普惠金融的全面实现
第五、 减少洗钱、逃漏税等违法犯罪行为
第六、提升央行对货币供给和货币流通的控制力
数字货币开发步骤:
第一步、
首先我们要从git 上下载某套区块链体系的源码,比如选择比特币的主干代码下载好
相关源码。
同时准备好对应的编译环境(C + +的建议在Linux)和安装好对应开发环境和工具。
第二步、
代码都是需要编译的,因此需要准备编译环境和工具,需要下载环境编译工具、配
好系统环境变量, qt环境等文件,编译命令在Itc源代码里的文件里有详细说明。
不过系统和开发环境的搭建、程序编译等过程都比较繁琐,不建议普通用户自己制作。对于开发人员,第一次可能要预计2-3天的安装配置时间。
第三步、
拿比特币开发来说,他是Q的开发环境,下载好源码并配置好环境后,在QtCreator内打开该比特币核心的源码,配置相关文件和编译器,开始尝试编译比特币核心的客户端。
第四步、
改造成自己的数字货币,打开各个源文件,找到对应的地方调整参数即可,如调整
每个区块出币数,总产量,调整难度等等,然后就到最关键的点,就是改名为自己的币名。
想怎么取名就怎么取名,别忘记在资源文件夹里替换掉相关图标。如果一切顺利,经过重新
编译,你的新币就顺利发明了。
对于这个数字货币的开发,还是属于技术比较专业的,因此最好有-个专业的团队协助。
数字货币开发大致需要学习的框架:
1、搭建以太坊私链测试环境以及公链节点环境配置
2、以太坊中以太币的交易、确认原理
3、以太坊中json rpc接口
4、以太币转账与提现原理
5、服务器对接以太坊公链接口,自有服务器存储业务数据,公链存储交易可匿名数据
6、私钥的安全处理
以下是开发的代码示例:
举例下市场上常用的数字货币钱包有:
APP类:kcash、imtokenweb:myEthereumWalletgoogle 浏览器插件:metaMask
其中最常用的就是imToken
区块链交易技术概念:
让我们来看看区块链交易是如何以比特币为例进行处理的。为了将一定数量的比特币发送到另一个钱包,您需要以下信息:将资金发送到您的钱包的地址,您想要发送的加密货币数量
接收者的钱包的ID。
每笔交易都使用唯一的机密私人密钥进行签名。一旦付款由发件人签署,它就变为公开可用。交易仍需要确认,以便收款人可以得到这笔钱为了确认交易,有必要生成一个新的链条块。
这些块是通过进行复杂的数学计算来找到唯一的密钥而生成的。创建一个新块需要10分钟,找到该密钥的人获得一定数量的硬币作为奖励。一旦创建了链的新块,就不可能将其从数据库中删除或以某种方式更改信息。因此,区块链交易是最终且不可逆的。
数字货币的三大核心优点:
第一点、数字货币是公平的货币
数字货币没有特定的发行机构,不是由某一国家发行的,仅仅是依靠特定算法产生的,这就意味着无法通过操纵发行数量来操纵数字货币,因此数字货币是一种自由的、非国家的货币。
我们可以看到现在有许多国家是直接认可了虚拟货币,那么有需求,就需要交易的平台。
我们现在许多想搭建虚拟货币交易平台的投资者,为什么不能去这些地区搭建交易平台呢?搭建虚拟货币交易平台,这不就是一个很好的商机吗?
第二点、数字货币的安全系数更高
纸币的出现虽然方便了我们日常生活中的交易,但是会有被偷盗以及收到的风险。电子货币虽然可以避免这些风险,但是会出现诸如被盗刷、等新的问题。
数字货币则可以避免以上问题。并且将每一笔交易记录在网络上进行广播,是的所有节点都保存全部货币的流通信息,这样任意一个节点在交易之前就可以轻易地发现货币的流通。
第三点、数字货币的交易可以实现匿名交易
由于没有传统银行开户和身份认证的过程,数字货币是纯匿名的。虽然可以根据本地完整的交易记录查询到每个账号的流水信息。
但却无法知道这个账号的主人是谁,同样也没有任何人有能力操纵他人账号上的数字货币,这样很好的保护了使用人的隐私。
如果您也在持有交易数字货币、外汇黄金原油、合约期货:
『叁』 2021年itc万物链怎么样
itc万物链未来市场潜力巨大。万物链解决了物联网长期存在的中心化设计,数据被存储在被中心化机构的中心服务器,区块链技术与物联网行业的结合,提供了区块链技术的去中心化思想和技术。但在其他物联网领域还存在着很多问题,万物链提出了自己的解决方案。
区块链从一项技术,到变成一个红极一时的关键词,从精英到大妈,从大佬到草根,似乎所有人都可以从区块链中收获财富,实现抱负。 从 coinmarketcap 数据来看,区块链虚拟货币行业的市值从 2017 年初 100 亿美金到 2018 年 1 月飙升到 8000 亿美金,最近回落到 3000 亿美金。
综合来说:万物链采用PBFT共识的主链,结合天生支持高性能的 DAG网络作为侧链,采用 CPS 的多层架构,致力于构建安全、去中心化的、支持高并发的物联网操作系统。 万物链的出发点:致力于构建安全、去中心化的、支持高并发的物联网操作系统。万物链清晰的判断了物联网的市场规模以及物联网的市场痛点,并提出了完整详细的解决方案。对市场规模及市场痛点十分清晰,解决方案成熟,项目主要针对公用设施的自动化控制;明确代币用途,项目定位明确,未来市场潜力巨大,且万物链对标IOTA,万物链在硬件和软件方面都强于IOTA,IOTA偏向于底层,评级为高。
用户对隐私和数据的需求会极大增加,集中式的身份体系已经不能满足需求,ITC万物链认为分布式身份将会是链接实体世界和虚拟世界的桥梁,在下一个数字爆发的时代,我们需要分布式身份控制自己的数据,选择自己的服务。我们不再以服务为中心,更多的是要以用户为中心。 而且随着边缘计算的崛起,边缘的计算能力在增加,我们可以在数据流向服务之前做好数据的隐私保护和处理。
『肆』 springMVC怎么把结果集写入Excel并导出
一、让不同类型数据用不同颜色显示
在工资表中,如果想让大于等于2000元的工资总额以“红色”显示,大于等于1500元的工资总额以“蓝色”显示,低于1000元的工资总额以“棕色”显示,其它以“黑色”显示,我们可以这样设置。
1.打开“工资表”工作簿,选中“工资总额”所在列,执行“格式→条件格式”命令,打开“条件格式”对话框。单击第二个方框右侧的下拉按钮,选中“大于或等于”选项,在后面的方框中输入数值“2000”。单击“格式”按钮,打开“单元格格式”对话框,将“字体”的“颜色”设置为“红色”。
2.按“添加”按钮,并仿照上面的操作设置好其它条件(大于等于1500,字体设置为“蓝色”;小于1000,字体设置为“棕色”)。
3.设置完成后,按下“确定”按钮。
看看工资表吧,工资总额的数据是不是按你的要求以不同颜色显示出来了。
二、建立分类下拉列表填充项
我们常常要将企业的名称输入到表格中,为了保持名称的一致性,利用“数据有效性”功能建了一个分类下拉列表填充项。
1.在Sheet2中,将企业名称按类别(如“工业企业”、“商业企业”、“个体企业”等)分别输入不同列中,建立一个企业名称数据库。
2.选中A列(“工业企业”名称所在列),在“名称”栏内,输入“工业企业”字符后,按“回车”键进行确认。
仿照上面的操作,将B、C……列分别命名为“商业企业”、“个体企业”……
3.切换到Sheet1中,选中需要输入“企业类别”的列(如C列),执行“数据→有效性”命令,打开“数据有效性”对话框。在“设置”标签中,单击“允许”右侧的下拉按钮,选中“序列”选项,在下面的“来源”方框中,输入“工业企业”,“商业企业”,“个体企业”……序列(各元素之间用英文逗号隔开),确定退出。
再选中需要输入企业名称的列(如D列),再打开“数据有效性”对话框,选中“序列”选项后,在“来源”方框中输入公式:=INDIRECT(C1),确定退出。
4.选中C列任意单元格(如C4),单击右侧下拉按钮,选择相应的“企业类别”填入单元格中。然后选中该单元格对应的D列单元格(如D4),单击下拉按钮,即可从相应类别的企业名称列表中选择需要的企业名称填入该单元格中。
提示:在以后打印报表时,如果不需要打印“企业类别”列,可以选中该列,右击鼠标,选“隐藏”选项,将该列隐藏起来即可。
三、建立“常用文档”新菜单
在菜单栏上新建一个“常用文档”菜单,将常用的工作簿文档添加到其中,方便随时调用。
1.在工具栏空白处右击鼠标,选“自定义”选项,打开“自定义”对话框。在“命令”标签中,选中“类别”下的“新菜单”项,再将“命令”下面的“新菜单”拖到菜单栏。
按“更改所选内容”按钮,在弹出菜单的“命名”框中输入一个名称(如“常用文档”)。
2.再在“类别”下面任选一项(如“插入”选项),在右边“命令”下面任选一项(如“超链接”选项),将它拖到新菜单(常用文档)中,并仿照上面的操作对它进行命名(如“工资表”等),建立第一个工作簿文档列表名称。
重复上面的操作,多添加几个文档列表名称。
3.选中“常用文档”菜单中某个菜单项(如“工资表”等),右击鼠标,在弹出的快捷菜单中,选“分配超链接→打开”选项,打开“分配超链接”对话框。通过按“查找范围”右侧的下拉按钮,定位到相应的工作簿(如“工资.xls”等)文件夹,并选中该工作簿文档。
重复上面的操作,将菜单项和与它对应的工作簿文档超链接起来。
4.以后需要打开“常用文档”菜单中的某个工作簿文档时,只要展开“常用文档”菜单,单击其中的相应选项即可。
提示:尽管我们将“超链接”选项拖到了“常用文档”菜单中,但并不影响“插入”菜单中“超链接”菜单项和“常用”工具栏上的“插入超链接”按钮的功能。
四、制作“专业符号”工具栏
在编辑专业表格时,常常需要输入一些特殊的专业符号,为了方便输入,我们可以制作一个属于自己的“专业符号”工具栏。
1.执行“工具→宏→录制新宏”命令,打开“录制新宏”对话框,输入宏名?如“fuhao1”?并将宏保存在“个人宏工作簿”中,然后“确定”开始录制。选中“录制宏”工具栏上的“相对引用”按钮,然后将需要的特殊符号输入到某个单元格中,再单击“录制宏”工具栏上的“停止”按钮,完成宏的录制。
仿照上面的操作,一一录制好其它特殊符号的输入“宏”。
2.打开“自定义”对话框,在“工具栏”标签中,单击“新建”按钮,弹出“新建工具栏”对话框,输入名称——“专业符号”,确定后,即在工作区中出现一个工具条。
切换到“命令”标签中,选中“类别”下面的“宏”,将“命令”下面的“自定义按钮”项拖到“专业符号”栏上(有多少个特殊符号就拖多少个按钮)。
3.选中其中一个“自定义按钮”,仿照第2个秘技的第1点对它们进行命名。
4.右击某个命名后的按钮,在随后弹出的快捷菜单中,选“指定宏”选项,打开“指定宏”对话框,选中相应的宏(如fuhao1等),确定退出。
重复此步操作,将按钮与相应的宏链接起来。
5.关闭“自定义”对话框,以后可以像使用普通工具栏一样,使用“专业符号”工具栏,向单元格中快速输入专业符号了。
五、用“视面管理器”保存多个打印页面
有的工作表,经常需要打印其中不同的区域,用“视面管理器”吧。
1.打开需要打印的工作表,用鼠标在不需要打印的行(或列)标上拖拉,选中它们再右击鼠标,在随后出现的快捷菜单中,选“隐藏”选项,将不需要打印的行(或列)隐藏起来。
2.执行“视图→视面管理器”命令,打开“视面管理器”对话框,单击“添加”按钮,弹出“添加视面”对话框,输入一个名称(如“上报表”)后,单击“确定”按钮。
3.将隐藏的行(或列)显示出来,并重复上述操作,“添加”好其它的打印视面。
4.以后需要打印某种表格时,打开“视面管理器”,选中需要打印的表格名称,单击“显示”按钮,工作表即刻按事先设定好的界面显示出来,简单设置、排版一下,按下工具栏上的“打印”按钮,一切就OK了。
六、让数据按需排序
如果你要将员工按其所在的部门进行排序,这些部门名称既的有关信息不是按拼音顺序,也不是按笔画顺序,怎么办?可采用自定义序列来排序。
1.执行“格式→选项”命令,打开“选项”对话框,进入“自定义序列”标签中,在“输入序列”下面的方框中输入部门排序的序列(如“机关,车队,一车间,二车间,三车间”等),单击“添加”和“确定”按钮退出。
2.选中“部门”列中任意一个单元格,执行“数据→排序”命令,打开“排序”对话框,单击“选项”按钮,弹出“排序选项”对话框,按其中的下拉按钮,选中刚才自定义的序列,按两次“确定”按钮返回,所有数据就按要求进行了排序。
七、把数据彻底隐藏起来
工作表部分单元格中的内容不想让浏览者查阅,只好将它隐藏起来了。
1.选中需要隐藏内容的单元格(区域),执行“格式→单元格”命令,打开“单元格格式”对话框,在“数字”标签的“分类”下面选中“自定义”选项,然后在右边“类型”下面的方框中输入“;;;”(三个英文状态下的分号)。
2.再切换到“保护”标签下,选中其中的“隐藏”选项,按“确定”按钮退出。
3.执行“工具→保护→保护工作表”命令,打开“保护工作表”对话框,设置好密码后,“确定”返回。
经过这样的设置以后,上述单元格中的内容不再显示出来,就是使用Excel的透明功能也不能让其现形。
提示:在“保护”标签下,请不要清除“锁定”前面复选框中的“∨”号,这样可以防止别人删除你隐藏起来的数据。
八、让中、英文输入法智能化地出现
在编辑表格时,有的单元格中要输入英文,有的单元格中要输入中文,反复切换输入法实在不方便,何不设置一下,让输入法智能化地调整呢?
选中需要输入中文的单元格区域,执行“数据→有效性”命令,打开“数据有效性”对话框,切换到“输入法模式”标签下,按“模式”右侧的下拉按钮,选中“打开”选项后,“确定”退出。
以后当选中需要输入中文的单元格区域中任意一个单元格时,中文输入法(输入法列表中的第1个中文输入法)自动打开,当选中其它单元格时,中文输入法自动关闭。
九、让“自动更正”输入统一的文本
你是不是经常为输入某些固定的文本,如《电脑报》而烦恼呢?那就往下看吧。
1.执行“工具→自动更正”命令,打开“自动更正”对话框。
2.在“替换”下面的方框中输入“pcw”(也可以是其他字符,“pcw”用小写),在“替换为”下面的方框中输入“《电脑报》”,再单击“添加”和“确定”按钮。
3.以后如果需要输入上述文本时,只要输入“pcw”字符?此时可以不考虑“pcw”的大小写?,然后确认一下就成了。
十、在Excel中自定义函数
Excel函数虽然丰富,但并不能满足我们的所有需要。我们可以自定义一个函数,来完成一些特定的运算。下面,我们就来自定义一个计算梯形面积的函数:
1.执行“工具→宏→Visual Basic编辑器”菜单命令(或按“Alt+F11”快捷键),打开Visual Basic编辑窗口。
2.在窗口中,执行“插入→模块”菜单命令,插入一个新的模块——模块1。
3.在右边的“代码窗口”中输入以下代码:
Function V(a,b,h)V = h*(a+b)/2End Function
4.关闭窗口,自定义函数完成。
以后可以像使用内置函数一样使用自定义函数。
提示:用上面方法自定义的函数通常只能在相应的工作簿中使用。
十一、表头下面衬张图片
为工作表添加的背景,是衬在整个工作表下面的,能不能只衬在表头下面呢?
1.执行“格式→工作表→背景”命令,打开“工作表背景”对话框,选中需要作为背景的图片后,按下“插入”按钮,将图片衬于整个工作表下面。
2.在按住Ctrl键的同时,用鼠标在不需要衬图片的单元格(区域)中拖拉,同时选中这些单元格(区域)。
3.按“格式”工具栏上的“填充颜色”右侧的下拉按钮,在随后出现的“调色板”中,选中“白色”。经过这样的设置以后,留下的单元格下面衬上了图片,而上述选中的单元格(区域)下面就没有衬图片了(其实,是图片被“白色”遮盖了)。
提示?衬在单元格下面的图片是不支持打印的。
十二、用连字符“&”来合并文本
如果我们想将多列的内容合并到一列中,不需要利用函数,一个小小的连字符“&”就能将它搞定(此处假定将B、C、D列合并到一列中)。
1.在D列后面插入两个空列(E、F列),然后在D1单元格中输入公式:=B1&C1&D1。
2.再次选中D1单元格,用“填充柄”将上述公式复制到D列下面的单元格中,B、C、D列的内容即被合并到E列对应的单元格中。
3.选中E列,执行“复制”操作,然后选中F列,执行“编辑→选择性粘贴”命令,打开“选择性粘贴”对话框,选中其中的“数值”选项,按下“确定”按钮,E列的内容(不是公式)即被复制到F列中。
4.将B、C、D、E列删除,完成合并工作。
提示:完成第1、2步的操作,合并效果已经实现,但此时如果删除B、C、D列,公式会出现错误。故须进行第3步操作,将公式转换为不变的“值”。
生成绩条
常有朋友问“如何打印成绩条”这样的问题,有不少人采取录制宏或VBA的方法来实现,这对于初学者来说有一定难度。出于此种考虑,我在这里给出一种用函数实现的简便方法。
此处假定学生成绩保存在Sheet1工作表的A1至G64单元格区域中,其中第1行为标题,第2行为学科名称。
1.切换到Sheet2工作表中,选中A1单元格,输入公式:=IF(MOD(ROW(),3)=0,″″,IF(0MOD?ROW(),3(=1,sheet1!Aū,INDEX(sheet1!$A:$G,INT(((ROW()+4)/3)+1),COLUMN())))。
2.再次选中A1单元格,用“填充柄”将上述公式复制到B1至G1单元格中;然后,再同时选中A1至G1单元格区域,用“填充柄”将上述公式复制到A2至G185单元格中。
至此,成绩条基本成型,下面简单修饰一下。
3.调整好行高和列宽后,同时选中A1至G2单元格区域(第1位学生的成绩条区域),按“格式”工具栏“边框”右侧的下拉按钮,在随后出现的边框列表中,选中“所有框线”选项,为选中的区域添加边框(如果不需要边框,可以不进行此步及下面的操作)。
4.同时选中A1至G3单元格区域,点击“常用”工具栏上的“格式刷”按钮,然后按住鼠标左键,自A4拖拉至G186单元格区域,为所有的成绩条添加边框。
按“打印”按钮,即可将成绩条打印出来。
十四、Excel帮你选函数
在用函数处理数据时,常常不知道使用什么函数比较合适。Excel的“搜索函数”功能可以帮你缩小范围,挑选出合适的函数。
执行“插入→函数”命令,打开“插入函数”对话框,在“搜索函数”下面的方框中输入要求(如“计数”),然后单击“转到”按钮,系统即刻将与“计数”有关的函数挑选出来,并显示在“选择函数”下面的列表框中。再结合查看相关的帮助文件,即可快速确定所需要的函数。
十五、同时查看不同工作表中多个单元格内的数据
有时,我们编辑某个工作表(Sheet1)时,需要查看其它工作表中(Sheet2、Sheet3……)某个单元格的内容,可以利用Excel的“监视窗口”功能来实现。
执行“视图→工具栏→监视窗口”命令,打开“监视窗口”,单击其中的“添加监视”按钮,展开“添加监视点”对话框,用鼠标选中需要查看的单元格后,再单击“添加”按钮。重复前述操作,添加其它“监视点”。
以后,无论在哪个工作表中,只要打开“监视窗口”,即可查看所有被监视点单元格内的数据和相关信息。
十六、为单元格快速画边框
在Excel 2002以前的版本中,为单元格区域添加边框的操作比较麻烦,Excel 2002对此功能进行了全新的拓展。
单击“格式”工具栏上“边框”右侧的下拉按钮,在随后弹出的下拉列表中,选“绘图边框”选项,或者执行“视图→工具栏→边框”命令,展开“边框”工具栏。
单击工具栏最左侧的下拉按钮,选中一种边框样式,然后在需要添加边框的单元格区域中拖拉,即可为相应的单元格区域快速画上边框。
提示:①如果画错了边框,没关系,选中工具栏上的“擦除边框”按钮,然后在错误的边框上拖拉一下,就可以清除掉错误的边框。②如果需要画出不同颜色的边框,可以先按工具栏右侧的“线条颜色”按钮,在随后弹出的调色板中选中需要的颜色后,再画边框即可。③这一功能还可以在单元格中画上对角的斜线。
十七、控制特定单元格输入文本的长度
你能想象当你在该输入四位数的单元格中却填入了一个两位数,或者在该输入文字的单元格中你却输入了数字的时候,Excel就能自动判断、即时分析并弹出警告,那该多好啊!要实现这一功能,对Excel来说,也并不难。
例如我们将光标定位到一个登记“年份”的单元格中,为了输入的统一和计算的方便,我们希望“年份”都用一个四位数来表示。所以,我们可以单击“数据”菜单的“有效性”选项。在“设置”卡片“有效性条件”的“允许”下拉菜单中选择“文本长度”。然后在“数据”下拉菜单中选择“等于”,且“长度”为“4”。同时,我们再来到“出错警告”卡片中,将“输入无效数据时显示的出错警告”设为“停止”,并在“标题”和“错误信息”栏中分别填入“输入文本非法!”和“请输入四位数年份。”字样。
很显然,当如果有人在该单元格中输入的不是一个四位数时,Excel就会弹出示的警告对话框,告诉你出错原因,并直到你输入了正确“样式”的数值后方可继续录入。神奇吧?其实,在Excel的“数据有效性”判断中,还有许多特殊类型的数据格式可选,比如“文本类型”啊,“序列大小”啊,“时间远近”啊,如你有兴趣,何不自作主张,自己设计一种检测标准,让你的Excel展示出与众不同的光彩呢。
十八、成组填充多张表格的固定单元格
我们知道每次打开Excel,软件总是默认打开多张工作表。由此就可看出Excel除了拥有强大的单张表格的处理能力,更适合在多张相互关联的表格中协调工作。要协调关联,当然首先就需要同步输入。因此,在很多情况下,都会需要同时在多张表格的相同单元格中输入同样的内容。
那么如何对表格进行成组编辑呢?首先我们单击第一个工作表的标签名“Sheet1”,然后按住Shift键,单击最后一张表格的标签名“Sheet3”(如果我们想关联的表格不在一起,可以按住Ctrl键进行点选)。此时,我们看到Excel的标题栏上的名称出现了“工作组”字样,我们就可以进行对工作组的编辑工作了。在需要一次输入多张表格内容的单元格中随便写点什么,我们发现,“工作组”中所有表格的同一位置都显示出相应内容了。
但是,仅仅同步输入是远远不够的。比如,我们需要将多张表格中相同位置的数据统一改变格式该怎么办呢?首先,我们得改变第一张表格的数据格式,再单击“编辑”菜单的“填充”选项,然后在其子菜单中选择“至同组工作表”。这时,Excel会弹出“填充成组工作表”的对话框,在这里我们选择“格式”一项,点“确定”后,同组中所有表格该位置的数据格式都改变了。
十九、改变文本的大小写
在Excel中,为表格处理和数据运算提供最强大支持的不是公式,也不是数据库,而是函数。不要以为Excel中的函数只是针对数字,其实只要是写进表格中的内容,Excel都有对它编辑的特殊函数。例如改变文本的大小写。
在Excel 2002中,至少提供了三种有关文本大小写转换的函数。它们分别是:“=UPPER(源数据格)”,将文本全部转换为大写;“=LOWER(源数据格)”,将文本全部转换成小写;“=PROPER(源数据格)”,将文本转换成“适当”的大小写,如让每个单词的首字母为大写等。例如,我们在一张表格的A1单元格中输入小写的“excel”,然后在目标单元格中输入“=UPPER(A1)”,回车后得到的结果将会是“EXCEL”。同样,如果我们在A3单元格中输入“mr.weiwei”,然后我们在目标单元格中输入“=PROPER(A3)”,那么我们得到的结果就将是“Mr.Weiwei”了。
二十、提取字符串中的特定字符
除了直接输入外,从已存在的单元格内容中提取特定字符输入,绝对是一种省时又省事的方法,特别是对一些样式雷同的信息更是如此,比如员工名单、籍贯等信息。
如果我们想快速从A4单元格中提取称谓的话,最好使用“=RIGHT(源数据格,提取的字符数)”函数,它表示“从A4单元格最右侧的字符开始提取2个字符”输入到此位置。当然,如果你想提取姓名的话,则要使用“=LEFT(源数据格,提取的字符数)”函数了。还有一种情况,我们不从左右两端开始,而是直接从数据中间提取几个字符。比如我们要想从A5单元格中提取“武汉”两个字时,就只须在目标单元格中输入“=MID(A5,4,2)”就可以了。意思是:在A5单元格中提取第4个字符后的两个字符,也就是第4和第5两个字。
二十一、把基数词转换成序数词将英文的基数词转换成序数词是一个比较复杂的问题。因为它没有一个十分固定的模式:大多数的数字在变成序数词都是使用的“th”后缀,但大凡是以“1”、“2”、“3”结尾的数字却分别是以“st”、“nd”和“rd”结尾的。而且,“11”、“12”、“13”这3个数字又不一样,它们却仍然是以“th”结尾的。因此,实现起来似乎很复杂。其实,只要我们理清思路,找准函数,只须编写一个公式,就可轻松转换了。不信,请看:“=A2&IF(OR(VALUE(RIGHT(A2,2))={11,12,13}),″th″,IF(OR(VALUE(RIGHT(A2))={1,2,3,},CHOOSE(RIGHT(A2),″st″,″nd″,″rd″),″th″))”。该公式尽管一长串,不过含义却很明确:①如果数字是以“11”、“12”、“13”结尾的,则加上“th”后缀;②如果第1原则无效,则检查最后一个数字,以“1”结尾使用“st”、以“2”结尾使用“nd”、以“3”结尾使用“rd”;③如果第1、2原则都无效,那么就用“th”。因此,基数词和序数词的转换实现得如此轻松和快捷。
二十二、用特殊符号补齐位数
和财务打过交道的人都知道,在账面填充时有一种约定俗成的“安全填写法”,那就是将金额中的空位补齐,或者在款项数据的前面加上“$”之类的符号。其实,在Excel中也有类似的输入方法,那就是“REPT”函数。它的基本格式是“=REPT(“特殊符号”,填充位数)”。
比如,我们要在中A2单元格里的数字结尾处用“#”号填充至16位,就只须将公式改为“=(A2&REPT(″#″,16-LEN(A2)))”即可;如果我们要将A3单元格中的数字从左侧用“#”号填充至16位,就要改为“=REPT(″#″,16-LEN(A3)))&A3”;另外,如果我们想用“#”号将A4中的数值从两侧填充,则需要改为“=REPT(″#″,8-LEN(A4)/2)&A4&REPT(″#″)8-LEN(A4)/2)”;如果你还嫌不够专业,要在A5单元格数字的顶头加上“$”符号的话,那就改为:“=(TEXT(A5,″$#,##0.00″(&REPT(″#″,16-LEN(TEXT(A5,″$#,##0.00″))))”,一定能满足你的要求。
二十三、创建文本直方图
除了重复输入之外,“REPT”函数另一项衍生应用就是可以直接在工作表中创建由纯文本组成的直方图。它的原理也很简单,就是利用特殊符号的智能重复,按照指定单元格中的计算结果表现出长短不一的比较效果。
比如我们首先制作一张年度收支平衡表,然后将“E列”作为直方图中“预算内”月份的显示区,将“G列”则作为直方图中“超预算”的显示区。然后根据表中已有结果“D列”的数值,用“Wingdings”字体的“N”字符表现出来。具体步骤如下:
在E3单元格中写入公式“=IF(D30,REPT(″n″,ROUND(D3*100,0)),″″)”,也拖动填充柄至G14。我们看到,一个没有动用Excel图表功能的纯文本直方图已展现眼前,方便直观,简单明了。
二十四、计算单元格中的总字数
有时候,我们可能对某个单元格中字符的数量感兴趣,需要计算单元格中的总字数。要解决这个问题,除了利用到“SUBSTITUTE”函数的虚拟计算外,还要动用“TRIM”函数来删除空格。比如现在A1单元格中输入有“how many words?”字样,那么我们就可以用如下的表达式来帮忙:
“=IF(LEN(A1)=0,0,LEN(TRIM(A1))-LEN(SUBSTITUTE(TRIM(A1),″,″,″″))+1)”
该式的含义是先用“SUBSTITUTE”函数创建一个新字符串,并且利用“TRIM”函数删除其中字符间的空格,然后计算此字符串和原字符串的数位差,从而得出“空格”的数量,最后将空格数+1,就得出单元格中字符的数量了。
二十五、关于欧元的转换
这是Excel 2002中的新工具。如果你在安装Excel 2002时选择的是默认方式,那么很可能不能在“工具”菜单中找到它。不过,我们可以先选择“工具”菜单中的“加载宏”,然后在弹出窗口中勾选“欧元工具”选项,“确定”后Excel 2002就会自行安装了。
完成后我们再次打开“工具”菜单,单击“欧元转换”,一个独立的专门用于欧元和欧盟成员国货币转换的窗口就出现了。与Excel的其他函数窗口一样,我们可以通过鼠标设置货币转换的“源区域”和“目标区域”,然后再选择转换前后的不同币种即可。所示的就是“100欧元”分别转换成欧盟成员国其他货币的比价一览表。当然,为了使欧元的显示更显专业,我们还可以点击Excel工具栏上的“欧元”按钮,这样所有转换后的货币数值都是欧元的样式了。
『伍』 springMVC怎么把结果集写入Excel并导出
首先要导入spring相关包,poi,和fileupload包,我是使用maven构建的。
一.导入excel
(1)使用spring上传文件
a.前台页面提交
<form name="excelImportForm" action="${pageContext.request.contextPath}/brand/importBrandSort" method="post" onsubmit="return checkImportPath();" enctype="multipart/form-data" id="excelImportForm">
<input type="hidden" name="ids" id="ids">
<div class="modal-body">
<div class="row gap">
<label class="col-sm-7 control-label"><input class="btn btn-default" id="excel_file" type="file" name="filename" accept="xls"/></label>
<div class="col-sm-3">
<input class="btn btn-primary" id="excel_button" type="submit" value="导入Excel"/>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" onClick="uncheckBoxes();">取消</button>
</div>
b.后台spring的controller进行相关操作,这里主要讲的是使用spring上传文件,和读取文件信息。
使用spring上传文件之前,需要配置bean。
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>@RequestMapping(value = "/importBrandSort", method = RequestMethod.POST)
public ModelAndView importBrandSort(@RequestParam("filename") MultipartFile file,
HttpServletRequest request,HttpServletResponse response) throws Exception {
String temp = request.getSession().getServletContext()
.getRealPath(File.separator)
+ "temp"; // 临时目录
File tempFile = new File(temp);
if (!tempFile.exists()) {
tempFile.mkdirs();
}
DiskFileUpload fu = new DiskFileUpload();
fu.setSizeMax(10 * 1024 * 1024); // 设置允许用户上传文件大小,单位:位
fu.setSizeThreshold(4096); // 设置最多只允许在内存中存储的数据,单位:位
fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
// 开始读取上传信息
//
int index = 0;
/* List fileItems = null;
try {
fileItems = fu.parseRequest(request);
}
catch (Exception e) {
e.printStackTrace();
}
Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件
FileItem fileItem = null;
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
fileItem = item;
// index++;
}
}
if (fileItem == null)
return null;
*/
if (file == null)
return null;
logger.info(file.getOriginalFilename());
String name = file.getOriginalFilename();// 获取上传文件名,包括路径
//name = name.substring(name.lastIndexOf("\\") + 1);// 从全路径中提取文件名
long size = file.getSize();
if ((name == null || name.equals("")) && size == 0)
return null;
InputStream in = file.getInputStream();
List<BrandMobileInfoEntity> BrandMobileInfos = brandService
.importBrandPeriodSort(in);
// 改为人工刷新缓存KeyContextManager.clearPeriodCacheData(new
// PeriodDimensions());// 清理所有缓存
int count = BrandMobileInfos.size();
String strAlertMsg ="";
if(count!=0){
strAlertMsg= "成功导入" + count + "条!";
}else {
strAlertMsg = "导入失败!";
}
logger.info(strAlertMsg);
//request.setAttribute("brandPeriodSortList", BrandMobileInfos);
//request.setAttribute("strAlertMsg", strAlertMsg);
request.getSession().setAttribute("msg",strAlertMsg);
return get(request, response);
//return null;
}
代码中的注释部分是如果不使用spring的方式,如何拿到提交过来的文件名(需要是要apache的一些工具包),其实使用spring的也是一样,只是已经做好了封装,方便我们写代码。
代码中的后半部分是读取完上传文文件的信息和对数据库进行更新之后,输出到前台页面的信息。
上述代码中: InputStream in = file.getInputStream();
List<BrandMobileInfoEntity> BrandMobileInfos = brandService
.importBrandPeriodSort(in);读取excel的信息。
(2)使用poi读取excel
a.更新数据库
@Override
public List<BrandMobileInfoEntity> importBrandPeriodSort(InputStream in) throws Exception {
List<BrandMobileInfoEntity> brandMobileInfos = readBrandPeriodSorXls(in);
for (BrandMobileInfoEntity brandMobileInfo : brandMobileInfos) {
mapper.updateByConditions(brandMobileInfo);
}
return brandMobileInfos;
}
这部分是sevice层的代码,用于读取excel信息之后更新数据库数据,我这里是使用mybatis。定义一个类BrandMobileInfoEntity,用与保存excel表每一行的信息,而List< BrandMobileInfoEntity > 则保存了全部信息,利用这些信息对数据库进行更新。
b.读取excel信息
private List<BrandMobileInfoEntity> readBrandPeriodSorXls(InputStream is)
throws IOException, ParseException {
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
List<BrandMobileInfoEntity> brandMobileInfos = new ArrayList<BrandMobileInfoEntity>();
BrandMobileInfoEntity brandMobileInfo;
// 循环工作表Sheet
for (int numSheet = 0;
numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
// 循环行Row
for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
brandMobileInfo = new BrandMobileInfoEntity();
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
for (int i = 0; i < hssfRow.getLastCellNum(); i++) {
HSSFCell brandIdHSSFCell = hssfRow.getCell(i);
if (i == 0) {
brandMobileInfo.setBrandId(Integer
.parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 1) {
continue;
} else if (i == 2) {
brandMobileInfo.setMobileShowFrom(Integer.parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 3) {
brandMobileInfo.setMobileShowTo(Integer.parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 4) {
brandMobileInfo.setSellMarkValue(getCellValue(brandIdHSSFCell));
} else if (i == 5) {
brandMobileInfo.setWarehouse(getCellValue(brandIdHSSFCell));
} else if (i == 6) {
brandMobileInfo.setSortA1(Integer.parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 7) {
brandMobileInfo.setSortA2(Integer.parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 8) {
brandMobileInfo.setSortB(Integer.parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 9) {
brandMobileInfo.setSortC10(Integer.parseInt(getCellValue(brandIdHSSFCell)));
}
else if (i == 10) {
brandMobileInfo.setSortC(Integer.parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 11) {
brandMobileInfo.setHitA(getCellValue(brandIdHSSFCell));
} else if (i == 12) {
brandMobileInfo.setHitB(getCellValue(brandIdHSSFCell));
} else if (i == 13) {
brandMobileInfo.setHitC(getCellValue(brandIdHSSFCell));
} else if (i == 14) {
brandMobileInfo.setCustomSellType(getCellValue(brandIdHSSFCell));
}else if (i == 15)
{
continue;
}else if (i == 16) {
brandMobileInfo.setChannelId(Integer.parseInt(getCellValue(brandIdHSSFCell)));
}
}
brandMobileInfos.add(brandMobileInfo);
}
}
return brandMobileInfos;
}
这种代码有点搓,还没有优化,可以大概看到是怎么读取信息的。
(3)使用mybatis更新数据。