H3 BPM如何批量导入用户和组织?

问题:如何批量导入用户和组织?

解答:

进入后台管理,点开组织机构下面的同步设置。

如果没有现成的AD用户,就做个EXCEL表导入数据到数据库

Excel导入组织架构的模板和关键代码

前台代码:

<div>

<asp:FileUpload ID="FileUpload7" runat="server" Width="200px" /><div>

组织信息导入

<asp:TextBox runat="server" ID="TextBox3" Width="100px"/>

<asp:Button ID="Button7" runat="server" Text="导入" Width="100px" OnClick="Button7_Click" />

</div>

</div>

后台代码:

protected void Button7_Click(object sender, EventArgs e)

{

IWorkbook workbook = null;

if (FileUpload7.HasFile)

{

string upfile = Server.MapPath("") + "/Temp/" + FileUpload7.PostedFile.FileName;

if (!Directory.Exists(Server.MapPath("") + "/Temp/"))

{

Directory.CreateDirectory(Server.MapPath("") + "/Temp/");

}

FileUpload7.PostedFile.SaveAs(upfile);

string newpath = upfile;

using (FileStream fs = File.OpenRead(newpath)) //打开myxls.xls文件

{

if (FileUpload7.PostedFile.FileName.IndexOf(".xlsx") > 0) // 2007版本

workbook = new XSSFWorkbook(fs);

else if (FileUpload7.PostedFile.FileName.IndexOf(".xls") > 0) // 2003版本

workbook = new HSSFWorkbook(fs);

#region 导入组织信息

ISheet sheet = workbook.GetSheetAt(0); //读取当前表数据

for (int j = 1; j <= sheet.LastRowNum; j++) //LastRowNum 是当前表的总行数

{

IRow row = sheet.GetRow(j); //读取当前行数据

if (row != null&&row.Cells.Count>0)

{

#region 导入单位信息

var code = row.Cells[0].StringCellValue.Trim();

var parentid = OThinker.H3.WorkSheet.AppUtility.Engine.Organization.Company.CompanyID;

var name = row.Cells[2].StringCellValue.Trim();

var unit = new OThinker.Organization.OrganizationUnit()

{

ObjectID = Guid.NewGuid().ToString(),

Code = code,

CompanyID = OThinker.H3.WorkSheet.AppUtility.Engine.Organization.Company.CompanyID,

Name = name,

ParentID = parentid,

// Sort Key

SortKey = j,

// 类型

CategoryID = null

};

// 写入服务器

var result = OThinker.Organization.HandleResult.SUCCESS;

if (OThinker.H3.WorkSheet.AppUtility.Engine.Organization.GetUnitByCode(code) != null)

{

result = OThinker.H3.WorkSheet.AppUtility.Engine.Organization.UpdateUnit(null, unit);

}

else

{

result = OThinker.H3.WorkSheet.AppUtility.Engine.Organization.AddUnit(null, unit);

}

if (result != OThinker.Organization.HandleResult.SUCCESS)

{

OThinker.H3.WorkSheet.AppUtility.Engine.LogWriter.Write(name);

}

#endregion

}

}

#endregion

#region 导入用户信息

sheet = workbook.GetSheetAt(1); //读取当前表数据

for (int j = 1; j <= sheet.LastRowNum; j++) //LastRowNum 是当前表的总行数

{

IRow row = sheet.GetRow(j); //读取当前行数据

if (row != null && row.Cells.Count > 0)

{

#region 导入单位信息

var oucode = row.Cells[0].StringCellValue.Trim();

var code = row.Cells[1].StringCellValue.Trim();

var parentou = OThinker.H3.WorkSheet.AppUtility.Engine.Organization.GetUnitByCode(oucode);

var name = row.Cells[2].StringCellValue.Trim();

var employeenumber = row.Cells[3].ToString().Trim().Replace(" ", "");

var birthday = row.Cells[4].DateCellValue;

var email = row.Cells[5].ToString().Trim();

var officemobile = row.Cells[6]==null?"": row.Cells[6].ToString().Trim();

var unit = new OThinker.Organization.User()

{

ObjectID = Guid.NewGuid().ToString(),

Code = code,

CompanyID = OThinker.H3.WorkSheet.AppUtility.Engine.Organization.Company.CompanyID,

Name = name,

ParentID = parentou == null ?

OThinker.H3.WorkSheet.AppUtility.Engine.Organization.Company.CompanyID :

parentou.ObjectID,

// Sort Key

SortKey = j,

// 类型

CategoryID = null,

EmployeeNumber = employeenumber,

OfficePhone = officemobile,

Email = email,

Birthday = birthday

};

// 写入服务器

OThinker.Organization.HandleResult result = OThinker.Organization.HandleResult.SUCCESS;

if (OThinker.H3.WorkSheet.AppUtility.Engine.Organization.GetUserByEmployeeNumber(code) != null)

{

result = OThinker.H3.WorkSheet.AppUtility.Engine.Organization.UpdateUnit(null, unit);

}

else

{

result = OThinker.H3.WorkSheet.AppUtility.Engine.Organization.AddUnit(null, unit);

}

if (result != OThinker.Organization.HandleResult.SUCCESS)

{

OThinker.H3.WorkSheet.AppUtility.Engine.LogWriter.Write(name);

}

#endregion

}

}

#endregion

File.Delete(upfile);

}

}

}

Excel整理模板

时间: 2024-10-16 06:33:47

H3 BPM如何批量导入用户和组织?的相关文章

Office 365 系列之六:通过管理中心批量导入用户

本章节跟大家介绍通过Office 365管理中心批量导入用户并分配许可. 1. 登陆Office 365管理中心,切换到"活动用户"页面,点击"批量添加" 2. 点击"下载空白CSV文件"或"下载CSV文件示例" 3. 用Excel打开下载后的空白CSV文件, 如图: 4. 填写用户信息后并保存(实际生产环境中建议先使用几个账号测试成功后再大批量导入) 5. 用记事本打开刚才保存的文件,如图 6. 点击"文件&quo

Office 365系列之十一:使用Windows PowerShell 批量导入用户

在本系列中的第九部分我们已经成功的通过Windows PowerShell管理O365平台了,为本次批量导入用户提供了铺垫.所以对于O365平台管理PS模块的安装今天就不说的那么详细了,具体配置可以参考第九部分内容. 1.1  Install Microsoft Online Services Sign-In Assistant for IT Professionals RTW http://www.microsoft.com/en-us/download/confirmation.aspx?i

在Exchange 2010中批量导入用户

在某一个项目中,客户需要将2000多个联系人导入到Exchange 2010中,作为外部邮件联系人对MAPI连接的用户可见,而且要划分到特定的地址簿中去.客户提供excel列表以便导入使用. 由于导入操作需要使用CSV格式文件,所以要预先将excel修改.打开excel,然后将文件另存为CSV后缀的即可.需要注意的是,另存为只对单个工作区起作用. 导入操作对CSV文件的字段要求,最基本的需要4个字段:displayName,mail,DN,objectClass. displayName:显示名

怎样批量导入用户以及初始化?

1. 登录TurboMail管理员后台,依次选择系统设置--系统初始化--用户初始化,下载文件users_ch.csv: 2. 按照users_ch.csv格式将用户据信息填入: 密码:统一初始化所有用户密码,建议为6-8位英文字母与数字组合 昵称:用户昵称 组织编码:自定义组织编码,不同组织编码不能相同 部门编码:自定义部门编码,不同部门编码不能相同 组织名称:自定义组织名称,不同组织名称不能相同 部门名称:自定义部门名称,不同部门名称不能相同 最大空间.最多邮件数.最大分配网络硬盘:按实际分

邮箱助手-批量导入用户收邮件的邮件客户端

首先从地址 https://pan.xvp.cn/index.php/s/6cN6wDnEHoKt9XA?tdsourcetag=s_pctim_aiomsg下载邮箱助手 客户端下载并解压后 运行 邮箱助手 出现如下界面 注册账号 注册成功后,登录如下界面 导入咱的邮箱账号(目前只支持163邮箱) 不用一个个手动设置,是不是很快. 邮箱是需要注册才能使用的.当然购买邮箱送软件激活码. 原文地址:https://blog.51cto.com/13494230/2442837

Office365&mdash;Exchange管理3&mdash;批量管理用户

这节我们来看看怎么对Office365用户进行批量管理,比如导入.导出或者批量修改信息等操作. 我们知道,如果在Office365中新建用户的话,可以在用户和组中,直接点击添加. 但通常情况下,企业在切换到使用Office365时,往往是由公司人事部列出用户名单,再由IT人员进行导入. Office365其实提供了一个批量导入用户的工具,我们直接点击即可进入批量导入向导. 在向导中,我们可以下载空白 CSV 文件或者示例,根据格式添加需要导入的用户. 示例文件用Excel打开如以下格式.注意如果

C#Excel上传批量导入sqlserver

前台: <x:FileUpload ID="btnUpField" runat="server" Label="上传Excel批量导入用户信息" ShowLabel="true" > </x:FileUpload> <x:Button ID="Button1" Text="上传" runat="server" Icon="Sys

在CentOS下使用文件批量添加用户

在CentOS添加用户的方法是多样的,例如,使用useradd.passwd单个添加用户:使用脚本批量添加用 户:使用文件批量导入用户.本节介绍的是使用文件批量导入用户的方法. 环境介绍: [[email protected] ~]# uname -r 3.10.0-327.el7.x86_64 [[email protected] ~]# cat /etc/centos-release CentOS Linux release 7.2.1511 (Core) [[email protected

phalcon之PHPExcel批量导入

网上好多资料,但运行起来,总是有问题,这次好保存下来. phalcon下: 第一步:在index.php里面添加 include __DIR__ . "/../app/extensions/phpexcel/PHPExcel.php"; 第二步:写下面function /* * 批量导入用户 */ public function batchImportUsersAction() { $filePath = dirname(__FILE__).'/../data/users.xls';