导入数据
开发工具:VS 2015,SQL 2014
准备工作:将NPOI引入到项目中
一、 功能实现
初始界面
图1 初始界面
1.导入
作用:导入操作主是一个将数据新增到数据库的操作。
说明:点击 图1 中“导入”按钮,然后弹出所要导入数据的基本格式,如图2所示:
图2 导入弹出窗体
接着选择文件后缀名为xls的excel文档,然后鼠标点击“导入数据库”按钮,如图3所示
图3 导入数据显示
最后提示导入数据的情况,如图4所示:
图4 导入结果
二、数据库表关系
图5 数据库关系
三、经典代码
由于导入数据中的编号是自动生成,所以首先写一个自动生成编号的函数,代码如下:
public ActionResult GeneratesPatientnumber()//生成患者编号
{
string NewPatientnumber = "";//定义一个新的字符串
//查询数据库中的卡号
var listPatientnumber = (from dbPatientInformation in myModels.S_PatientInformation
orderby dbPatientInformation.Patientnumber //(以卡号排序)
select dbPatientInformation).ToList();
if (listPatientnumber.Count > 0)//当数据库中有数据时
{
int count = listPatientnumber.Count;//获取查询到的数据的条数
S_PatientInformation PatientInformationList = listPatientnumber[count - 1];
//获取最后一条数据
int intCode = Convert.ToInt32(PatientInformationList.CardIDNumber.Substring(4));
//对最后一条数据进行截取长度(截取后面的编号)
//Substring(1,4)截取字符串,1代表字符串起始位置,4表示截取长度
intCode++;//新的编号(在原来的编号上加一)
NewPatientnumber = intCode.ToString();//给定义的字符赋值
var a = "H";//声明所要给编号拼接的字符
var b = "Z";//声明所要给编号拼接的字符
var c = "B";//声明所要给编号拼接的字符
var d = "H";//声明所要给编号拼接的字符
for (int i = 0; i <10; i++)
{
//循环判断NewPatientnumber的长度是否大于10,
//如果不是就在NewPatientnumber前面加"0",否则NewPatientnumber=NewPatientnumber
NewPatientnumber = NewPatientnumber.Length < 10 ? "0" + NewPatientnumber : NewPatientnumber;
}
NewPatientnumber = a + b + c + d + NewPatientnumber;//卡号的最终拼接
}
else//当数据库中没有数据时 卡号的初始值
{
NewPatientnumber = "HZBH0000000001";
}
Session["NewPatientnumber"] = NewPatientnumber;//把新的卡号