知名市场研究机构Interbrand发布了“2020年全球佳品牌排行榜”。榜单显示,苹果公司以322999亿美元的品牌价值蝉联榜首,增速达到38%。亚马逊以20066亿美元紧随其后,微软以16601亿美元的品牌价值超过谷歌位居第三。
排行
品牌名称
品牌价值变化
品牌价值
1Apple38%32299$m2Amazon亚马逊60%200667$m3Microsoft微软53%16600$m4Google谷歌-1%165444$m5SAMSUNG三星2%62289$m6Coca-Cola可口可乐-10%56894$m7TOYOTA丰田-8%51595$m8奔驰轿车-349268$m9MCDONALDS麦当劳-6%42816$m10Disney迪士尼-8%40773$m11宝马-4%39756$m12英特尔-8%36971$m13脸书-12%35178$m14IBM-14%34885$m15耐克6%34388$m16思科-4%34119$m17路易威登-2%31720$m18SAP12%28011$m19InstagramNEW26060$m20本田-11%21694$m21香奈儿-4%21203$m22摩根大通6%20220$m23美国运通-10%19458$m24UPS6%19161$m25宜家3%18870$m26百事可乐-9%18603$m27Adobe41%18206$m28爱马仕0%17961$m29GE-30%17961$m30YouTubeNEW17328$m31埃森哲2%16552$m32古驰-2%15675$m33百威啤酒-3%15606$m34帮宝适-4%15073$m35ZARA-13%14862$m36现代1%14295$m37H&M-14%14008$m38雀巢2%13900$m39安联7%12935$m40特斯拉NEW12785$m41Netflix41%12665$m42福特-12%12568$m43Loreal8%12553$m44奥迪-2%12428$m45Visa15%12397$m46易趣网2%12277$m47大众-5%12267$m48安盛3%12211$m49高盛7%12129$m50阿迪达斯1%12070$m51索尼14%12010$m52花旗银行-6%11936$m53飞利浦0%11671$m54吉列-16%11578$m55保时捷-3%11301$m56星巴克-5%11246$m57Mastercard17%11055$m58Salesforce34%10755$m59Nissan-8%10553$m60PayPal38%10514$m61西门子2%10512$m62达能4%10340$m63Nestle8%10252$m64汇丰银行-14%10118$m65惠普-11%9740$m66家乐氏-8%9547$m673M4%9409$m68高露洁6%9345$m69摩根士丹利8%8865$m70Spotify52%8389$m71佳能-15%8057$m72乐高9%7535$m73卡地亚-9%7494$m74桑坦德-12%7474$m75联邦快递5%7367$m76任天堂31%7296$m77惠普企业-16%6654$m78Corona3%6563$m79法拉利-1%6379$m80华为-9%6301$m81敦豪环球速递公司5%6289$m82杰克丹尼-1%6289$m83迪奥-1%5988$m84Caterpillar-14%5855$m85Panasonic-6%5844$m86KIA-9%5830$m87强生公司1%5764$m88喜力啤酒-2%5520$m89约翰迪尔-9%5367$m90Linkedin8%5210$m91轩尼诗-3%5123$m92肯德基-7%5111$m93路虎-13%5077$m94蒂芙尼公司-7%4966$m95Mini-10%4965$m96优步-13%4942$m97Burberry-8%4909$m98JohnnieWalkerNEW4555$m99普拉达-6%4495$m100ZoomNEW4481$m
2020世界品牌100强榜单解读
全球品牌100强名单显示,上榜100强品牌总价值达到23265亿美元,同比2019年增长9%,其中前三强品牌价值占总榜单价值的30%,这一数字在2010年仅为16%。
具体来看,苹果、亚马逊、微软、谷歌四大科技公司的品牌价值突破1000亿美元。全球品牌百强排行榜还有60家企业品牌价值在100-1000亿美元之间,有36家企业品牌价值在40-100亿美元之间。
全球企业品牌价值百强榜中,华为依旧是中国唯一上榜的企业,其品牌价值为6301亿美元,排名第80位。
不是。
它们是完全不同的两个概念,TIDEBRAND是欧韩时尚女装品牌,主打折扣女装,库存尾货,以批发为主,万斯是原创品牌,Vans(范斯)是1966年3月16日由保罗·范·多伦创始的原创极限运动潮牌,公司位于美国南加州,以极限运动起家,包括滑板、冲浪、BMX、滑雪等。
首先要导入spring相关包,poi,和fileupload包,我是使用maven构建的。
一导入excel
(1)使用spring上传文件
a前台页面提交
<form name="excelImportForm" action="${pageContextrequestcontextPath}/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="orgspringframeworkwebmultipartcommonsCommonsMultipartResolver"></bean>@RequestMapping(value = "/importBrandSort", method = RequestMethodPOST)
public ModelAndView importBrandSort(@RequestParam("filename") MultipartFile file,
HttpServletRequest request,HttpServletResponse response) throws Exception {
String temp = requestgetSession()getServletContext()
getRealPath(Fileseparator)
+ "temp"; // 临时目录
File tempFile = new File(temp);
if (!tempFileexists()) {
tempFilemkdirs();
}
DiskFileUpload fu = new DiskFileUpload();
fusetSizeMax(10 1024 1024); // 设置允许用户上传文件大小,单位:位
fusetSizeThreshold(4096); // 设置最多只允许在内存中存储的数据,单位:位
fusetRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
// 开始读取上传信息
//
int index = 0;
/ List fileItems = null;
try {
fileItems = fuparseRequest(request);
}
catch (Exception e) {
eprintStackTrace();
}
Iterator iter = fileItemsiterator(); // 依次处理每个上传的文件
FileItem fileItem = null;
while (iterhasNext()) {
FileItem item = (FileItem) iternext();// 忽略其他不是文件域的所有表单信息
if (!itemisFormField()) {
fileItem = item;
// index++;
}
}
if (fileItem == null)
return null;
/
if (file == null)
return null;
loggerinfo(filegetOriginalFilename());
String name = filegetOriginalFilename();// 获取上传文件名,包括路径
//name = namesubstring(namelastIndexOf("\\") + 1);// 从全路径中提取文件名
long size = filegetSize();
if ((name == null || nameequals("")) && size == 0)
return null;
InputStream in = filegetInputStream();
List<BrandMobileInfoEntity> BrandMobileInfos = brandService
importBrandPeriodSort(in);
// 改为人工刷新缓存KeyContextManagerclearPeriodCacheData(new
// PeriodDimensions());// 清理所有缓存
int count = BrandMobileInfossize();
String strAlertMsg ="";
if(count!=0){
strAlertMsg= "成功导入" + count + "条!";
}else {
strAlertMsg = "导入失败!";
}
loggerinfo(strAlertMsg);
//requestsetAttribute("brandPeriodSortList", BrandMobileInfos);
//requestsetAttribute("strAlertMsg", strAlertMsg);
requestgetSession()setAttribute("msg",strAlertMsg);
return get(request, response);
//return null;
}
代码中的注释部分是如果不使用spring的方式,如何拿到提交过来的文件名(需要是要apache的一些工具包),其实使用spring的也是一样,只是已经做好了封装,方便我们写代码。
代码中的后半部分是读取完上传文文件的信息和对数据库进行更新之后,输出到前台页面的信息。
上述代码中: InputStream in = filegetInputStream();
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) {
mapperupdateByConditions(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 < hssfWorkbookgetNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbookgetSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
// 循环行Row
for (int rowNum = 1; rowNum <= hssfSheetgetLastRowNum(); rowNum++) {
brandMobileInfo = new BrandMobileInfoEntity();
HSSFRow hssfRow = hssfSheetgetRow(rowNum);
for (int i = 0; i < hssfRowgetLastCellNum(); i++) {
HSSFCell brandIdHSSFCell = hssfRowgetCell(i);
if (i == 0) {
brandMobileInfosetBrandId(Integer
parseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 1) {
continue;
} else if (i == 2) {
brandMobileInfosetMobileShowFrom(IntegerparseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 3) {
brandMobileInfosetMobileShowTo(IntegerparseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 4) {
brandMobileInfosetSellMarkValue(getCellValue(brandIdHSSFCell));
} else if (i == 5) {
brandMobileInfosetWarehouse(getCellValue(brandIdHSSFCell));
} else if (i == 6) {
brandMobileInfosetSortA1(IntegerparseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 7) {
brandMobileInfosetSortA2(IntegerparseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 8) {
brandMobileInfosetSortB(IntegerparseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 9) {
brandMobileInfosetSortC10(IntegerparseInt(getCellValue(brandIdHSSFCell)));
}
else if (i == 10) {
brandMobileInfosetSortC(IntegerparseInt(getCellValue(brandIdHSSFCell)));
} else if (i == 11) {
brandMobileInfosetHitA(getCellValue(brandIdHSSFCell));
} else if (i == 12) {
brandMobileInfosetHitB(getCellValue(brandIdHSSFCell));
} else if (i == 13) {
brandMobileInfosetHitC(getCellValue(brandIdHSSFCell));
} else if (i == 14) {
brandMobileInfosetCustomSellType(getCellValue(brandIdHSSFCell));
}else if (i == 15)
{
continue;
}else if (i == 16) {
brandMobileInfosetChannelId(IntegerparseInt(getCellValue(brandIdHSSFCell)));
}
}
brandMobileInfosadd(brandMobileInfo);
}
}
return brandMobileInfos;
}
这种代码有点搓,还没有优化,可以大概看到是怎么读取信息的。
(3)使用mybatis更新数据。
欢迎分享,转载请注明来源:品搜搜测评网