用jxl从数据库导出的excel文件是导出到本地还是导出到服务器

用jxl从数据库导出的excel文件是导出到本地还是导出到服务器,第1张

导出到服务器,详细代码如下:
public String exportMeetingUser() throws NumberFormatException,
ServiceException, IOException, RowsExceededException,
WriteException {
String forward = SUCCESS;

// TODO 进行导出 *** 作
// 获取查询条件
String username = thisgetParameter("username");
String mobile = thisgetParameter("mobile");
String isAdmin = thisgetParameter("isAdmin");
String meetingId = thisgetParameter("meetingId");
User user = new User();
usersetName(username);
usersetMobile(mobile);

// 把PAGE_SIZE设置很大

pageSize = 1000;
Pager<User> pager = userServicefindMeetingUserPager(
LongvalueOf(meetingId), user, currentPage, pageSize, isAdmin);
logdebug("meeting id is: {}", meetingId);

List<User> userList = pagergetPageRecords();

String[] title = { "姓名", "手机号码", "职位(通讯录)", "单位", "房间号", "显示房间号", "性别",
"电子邮箱", "城市", "加入通讯录", "显示电话号码", "排序", "职位简称", "显示职位简称" };
// TODO 进行导出的 *** 作
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String exportFileName = sdfformat(new Date());
// 创建文件夹
File uploadFoldPath = new File(fileSystemServicegetDocumentRoot()
+ thisUSER_EXPORT_FOLDER);
if (!uploadFoldPathexists()) {
uploadFoldPathmkdirs();
}
// 判断文件是否存在
String fileSaveName = exportFileName + "xls";
String dstPath = fileSystemServicegetDocumentRoot()
+ thisUSER_EXPORT_FOLDER + Fileseparator + fileSaveName;
String from = "WEB";
String documentRoot = fileSystemServicegetDocumentRoot();
// DOCUMENT ROOT
getRequest()setAttribute("documentRoot", documentRoot);
getRequest()setAttribute("from", from);

OutputStream os = new FileOutputStream(dstPath);

// 再建完这个文件的时候再建立工作文件
jxlwriteWritableWorkbook wwb = WorkbookcreateWorkbook(os);
int rowIndex = 0;

Label label;
WritableCellFormat wc = new WritableCellFormat();
wcsetAlignment(AlignmentCENTRE);
//wcset

WritableSheet sheet = wwbcreateSheet("会议用户导出", 0);
label = new Label(2, rowIndex, "此文件为会议云用户导出文件");
sheetaddCell(label);

rowIndex++;

// 将列标题循环添加到Label中
for (int i = 0; i < titlelength; i++) {
label = new Label(i, rowIndex, title[i]);
sheetaddCell(label);
}
rowIndex++;
// TODO下面是添加数据

if (userList != null && userListsize() > 0) {
for (User exportUser : userList) {

MeetingMember member = meetingMemberServiceselectById(
exportUsergetId(), LongvalueOf(meetingId));
exportUsersetMeetingMember(member);
// "姓名", "手机号码", "职位(通讯录)", "单位", "房间号", "显示房间号", "性别",
// "电子邮箱", "城市", "加入通讯录", "显示电话号码", "排序", "职位简称", "显示职位简称"
// 用户名
label = new Label(0, rowIndex, exportUsergetName());
sheetaddCell(label);

label = new Label(1, rowIndex, exportUsergetMobile());
sheetaddCell(label);

label = new Label(2, rowIndex, exportUsergetMeetingMember()
getJob());
sheetaddCell(label);
// 单位
label = new Label(3, rowIndex, exportUsergetMeetingMember()
getDepartment());
sheetaddCell(label);
// 房间号
label = new Label(4, rowIndex, exportUsergetMeetingMember()
getRoomNumber());
rowIndex++;
}
}

wwbwrite();
wwbclose();
// 现在开始进行下载 *** 作
MeetingFiles meetingFiles = new MeetingFiles();
meetingFilessetFilePath(thisUSER_EXPORT_FOLDER);
meetingFilessetFileName(fileSaveName);
meetingFilessetFileSaveName(fileSaveName);

thisgetRequest()setAttribute("meetingFiles", meetingFiles);

return forward;

国内外12款主流任务管理软件测评: 1开发任务管理PingCode;2多合一项目任务管理Worktile;3个人和小团队项目任务管理Notion;4企业任务管理平台SmartTask;5小团队任务管理Teambition;6IT任务追踪管理Jira等。

一、国内外排名前12的项目任务管理工具对比

1开发任务管理 PingCode

专门为软硬件研发团队打造的项目任务管理平台,在国内具有良好的口碑,曾获是2021年度中国企服软件金榜研发项目管理榜的评分第一(36氪发布)

PingCode 功能覆盖研发管理全生命周期,被广泛用于需求收集、需求管理、需求优先级、产品路线图、项目管理(敏捷/kanban/瀑布)、测试管理、缺陷追踪、项目文档管理、效能度量、目标管理等场景。

整个团队、跨职能团队都能基于 PingCode 进行任务管理,使用对象包括但不限于产品经理、敏捷教练、前端、后端、设计师、测试工程师等等。

任务管理方面具备创建任务、分配任务、任务拆解、任务工时、截止日期、优先级、关联代码、关联测试、关联用户故事、关联文档,以及构建及部署信息等等。

软件优势:

产品开箱即用,简单易上手,不需要像Jira 那样经过好几月的培训,以及专门的系统管理专家配置系统才可使用;

为25人以下团队免费提供基础版本,收费版价格仅为国外产品Jira的30%-40%;

国产化,支持信创、麒麟等;

支持私有部署、定制化以及saas等购买方式;

口碑、服务支持好;

软件缺点:

暂未提供多语言版本;

无法满足软硬件研发之外的项目任务管理,比如市场、采购等;

PingCode官网

2 团队项目任务管理 Worktile

国内市场占有率最高的项目管理软件之一,国内最成熟的项目任务管理工具。被广泛用于电商、市场活动、律所项目、生产制造、行政、财务、设计、工程、教育、科研、软硬件开发等几乎包含所有类型的项目任务管理。

Worktile 是一个工具集合,从目标到项目,覆盖企业团队办公全流程场景。从列表到看板、从OKR到甘特图,主流工具一应俱全,能够避免使用多个工具增加成本的情况。Worktile还支持丰富的自定义功能,满足各行业团队场景的个性化工作需求。

软件优势:

能够满足绝大部分类型的项目任务管理需求,自定义能力非常强,可以搭建适合团队的任务模板和管理流程;

开箱即用,上手简单,价格相对便宜;

支持saas、私有部署、定制等购买方案;

为10人以下团队提供基础的免费版本

软件缺点:

在垂直领域的任务管理的专业度上不如 PingCode 等垂直领域的产品;

Worktile官网

3个人和小团队项目任务管理 Notion

作为一款新兴管理工具,Notion于2016年3月才开发上市,但借力于它强大且独特的功能,很快就受到了无数用户的青睐。你能通过它来做非常多的事,任务管理只是它的核心之一,包括但不限于:日程计划、笔记、文档、知识库、待办清单、书单等等。

我总结了一下,这得归功于Notion的这三个特点:

模块化:万物皆为区块,而正是因为区块的存在,你可以自由的控制页面元素的位置和顺序。

数据化:如果你要用传统的笔记工具来记录类似于表格的数据,那局限性可太大了——你几乎只能用来记录,除此之外,无论是筛选还是排序,都无法做到,但它可以。

结构化:小到一个页面中的多个元素,大到整个基于Notion的知识管理系统,全都是结构化。 

优点:

强大的数据库功能。

真正的All-in-one。借助数据库之间的关联,各种不同的内容可以互相关联起来。各种内容不再是孤立地放在一个地方,而是能够有效连接。我现在把todo list、记账、日记、读书都放到了Notion里,所有的数据库都可以关联todo list,在一个todo 数据库里管理所有的todo,记账、todo、读书又可以关联到日记,这样在我的日记里能呈现我今天完成的todo、消费情况、读书记录。

无广告,免费的也能满足个人需求。

丰富的内容样式,Notion的内容是由一个个block拼装的,每个block都可以选择不同的样式,还可以内嵌其他的网页应用。

缺点:

无法离线保存。像安卓端软件就只是套壳的web

没有标签体系。这意味着Notion无法通过标签建立不同笔记之间的联系,这对希望建立一个知识体系繁杂但具备规律性的人群来说是相当不友好的。

文本编辑功能差。稍微多一些文字就不能插入表格中的子页,也不支持直接粘贴插入。

支持的语法少。在这里点名表扬语雀笔记软件和小时百科的笔记功能,在支持markdown的同时也支持latex。

可导入和导出的格式少。

官网: >

4企业任务管理平台 SmartTask

这是一个功能多合一的工作管理平台,可帮助企业在同一个平台去组织和管理工作。减少在项目管理、CRM、通信协作办公等多个应用程序之间频繁切换。它具有典型的任务管理功能,如重复性任务、子任务、截止日期和依赖项,并允许您使用列表、看板、日历和时间线视图管理任务。您可以使用投资组合视图处理多个项目,并使用工作负载视图有效分配资源。SmartTask中的团队协作功能允许您进行群聊、音频通话、视频会议,并与组织中的任何人共享文件。

优点:

SmartTask 的主要优点是自定义字段和自定义图表的可用性、增加团队工作输出的工具以及简单直观的设计;

除此以外,和国产工具Worktile 类似能够满足企业的多种需求,是多合一的管理平台;

缺点:

更适合非大陆用户使用,大陆访问速度受限;

官网: >

5小团队任务管理 Teambition

Teambition是钉钉旗的办公套件,面对个人免费、团队收费,其功能包括“项目空间”“网盘”“待办”“文档”“日程表”等优质产品,可供所有人在日常工作和生活中使用。其任务管理功能和Worktile大体类似,只是由于定位不同,在使用上更简单。

软件优点:个人版本不收费;深度融合钉钉,打破信息孤岛,集成了项目管理、文档管理、资源管理、流程管理、沟通协作等工具,支持不同的业务场景;

软件缺点:为了追求的“简单易用”,牺牲了项目目标和分层分级权限管理——整体适用场景较为局限,难以实现项目的闭环管理(缺少目标、网盘管理能力)。自定义能力不强,无法很好的满足团队的个性化需求;无法与企业微信、飞书等外部工具打通;

官网: >

6IT任务追踪管理 Jira

Jira 是一个问题跟踪软件,由澳大利亚公司 Atlassian 开发。它为小型、中型和大型团队提供错误跟踪、问题跟踪和项目管理功能。在2021年以前 Jira Server(本地版)在国内是比较热门的软件研发管理工具,但Atlassian 在21年停售了本地版,所以导致国内用户被迫切换其他工具或云版本,《 Jira Server 版政策解析 》。尽管如此,但它的国外任然是一款受欢迎的企业管理工具。

软件优缺点:

优点是Jira可以提供更好的工作流程可见性;以及使用时间跟踪帮助节省资源;为10人以下团队提供基础免费版本;强大的第三方集成。

缺点是国内不支持私有部署版本,只提供saas版本,但国内又不设服务器;购买成本高昂,百人左右团队动辄上百万;新人上手使用成本高,需要长达几个月的培训以及专业的系统配置人员才可使用;访问速度慢

官网: >

7个人任务及笔记管理 Flowus

FlowUs 你可以理解为国内版的Notion,对比 Notipn 优点是对国内用户更友好,前段时间国内有非常多的视频对其介绍。

其定位为为个人和团队打造新一代知识管理与协作平台,集文档、多维表、文件夹等功能于一体,目前产品覆盖了移动和 PC 端的全生态链条,团队和个人用户可以实现项目管理、知识库、企业网盘以及内部工作流等一站式的解决方案。

在功能细节上,笔记文档提供丰富的块类型,支持记录图文、音视频、网页内容,并支持嵌入网易云音乐、Bilibili等多平台第三方服务,多样化管理用户的数字信息;

拥有看板、画廊、表单等7种视图的多维表,在传统数据管理表格内融合了在线协作、信息管理和可视化能力,能够自由搭建个性化、轻量级的业务管理系统。

其缺点也和Notion类似,比如可能会有很多你不需要的功能导致你非常烦躁。

官网: >

8 免费的看板任务管理工具 MeisterTask

MeisterTask是一款适合敏捷看板团队的任务管理软件,可以适配更多不同工作流程的团队。 *** 作简单,用户体验友好。团队使用可定制的看板来组织任务运行并监控项目的进度。比较良心的是它的免费版覆盖了所有主要功能,而且不限制项目成员的数量。

就免费这一条优点就能征服很多人了,所以其缺点大部分可以忽略不计算,但团队使用需要注意,它是没有国内团队的,所以无法享到产品服务,以及做本地部署,这就造成安全性和访问速度没有保障。

官网: >

9开源任务管理软件 ToDoList

ToDoList是一款小众但功能强大的开源免费任务管理软件,它可以帮助你把要做的事情一项一项地列出来,类似思维导图。

其强大之处在于可以管理多人协同工作,你可以根据具体情况设置任务的优先级别、任务完成度、任务提醒等,再复杂的工作,也能一目了然,大大提高你的工作效率。而且这款软件短小精悍,界面设计简洁直观,初级用户也能够快速上手。

其功能包括:任务树、列表视图、燃尽图、甘特图&思维导图、词云、

下载地址:>

10 可视化流程任务管理软件 Casual

Casual是一个可视化项目和流程管理软件,以任务为中心的协作平台,重点在项目流程管理,它可以帮助团队计划和执行项目变为简单的工作流程。它是小型和不断发展的项目管理团队的理想工具。

Casual的特色是不以传统的项目布局视图中显示任务,而是让用户的实际视角的方式组织任务。如果您从未使用过可视化项目管理,Casual为用户提供了简单的界面和各种模块化元素帮助您入门。

Casual的一些能力:自定义创建可视化工作流程、统计报表、任务依赖性和自定义分组、分配任务和设定截止日期、可重复的任务和项目、里程碑跟踪。

11 CRM 任务管理工具 纷享销客

纷享销客 是一个强大的CRM任务管理系统。它可以通过导入所有任务和相关数据到一个平台来简化业务流程,从而减少平台之间的来回切换,提高整体工作效率。纷享销客允许您自动执行重复性事务,并设置提醒,以免错过重要的截止日期。

通过百度指数、IDC等报告显示,纷享销客在国内CRM市场占有率多年稳居第一,同时也是增速第一的CRM厂商,连续多年登上胡润全球独角兽榜单。

同时,纷享销客的价格也是国内产品中性价比最高的几个产品之一,支持私有部署、定制化开发、SaaS等购买方案,且提供一定人数规模的免费使用。

官网:>

12 项目任务管理软件 ntask

nTask是一个任务管理和项目管理工具,有助于项目开发进度跟踪、跨团队协作和风险评估。其特点是非常简单易上手,但其功能并不简单,比如任务管理、风险管理、项目管理、团队管理、甘特图、看板、集成、协作、问题跟踪、时间跟踪、时间表管理等等。

官网: >

小结:根据定义,任务管理软件是一个数字办公平台,可帮助个人和团队管理他们的任务。无论您是出于个人还是团队的工作原因使用任务管理系统,这都会帮助你简化工作流程、提高生产率、更有效的协作。

Client端直接创建socket的时候指定服务器IP和端口号public class Client {private Socket socket;private BufferedReader input ;public void getConnect() throws Exception{//获得服务器链接,第一个参数是IP地址,第二个参数是端口号socket = new Socket("127001", 8080);//获得输入流,这里会抛出异常input = new BufferedReader(new InputStreamReader(socketgetInputStream()));/ 这里是你自己写获得数据即可 /inputclose();//可以选择是否关闭链接socketclose();}}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13458173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-11
下一篇 2023-08-11

发表评论

登录后才能评论

评论列表(0条)

保存