怎么动态添加excel的行

怎么动态添加excel的行,第1张

动态添加excel的行的方法

 以excel2010为例步骤如下:

1、数据表如下图,选择B列;

2、点击数据选项卡数据有效性命令;

3、允许修改为序列,来源下输入:优秀,良好,及格,点击确定;

小刚SEO为你解答。

在我的项目中遇到了两种动态增加表单项的场景,一种是对Form的添加,另外一种是对Table的添加。当初实现这两种时还有一点喜悦,现在回过头来看,发现这两种实际就是一种,以后就可以根据个人喜好选择了。

这里因为要添加的表单项存在着父子关系,要添加的子代很多,而父代属性又一致,用这种方式可以减少重复 *** 作。表单样式就不再赘述了,具体看图

这里 tab 就是我们每次添加子表单时要push进数组tabs的内容。

2、为添加要素按钮绑定一个 addTab() 方法,用于在每次添加子表单时,向数组中push一个元素

3、对表单项的编写与正常一样,只不过在数据绑定上不同,需绑定到tab中的元素

4、如果要删除多余tab,需要在 <div>中声明一个 removeTab() 的方法,来删除对应的tab,这点区别于 addTab() ,它是定义在 <div>之外的,每次新增的tab都会插到整个表单的末尾。

这里的table也是存在父子关系,只是展示形式的区别。因为后台的数据还有着展示的需要,所以才选用了表格这种形式来实现。

1、将table组件声明在一个 <template>标签下,用以根据后台数据进行动态加载。

2、对表格中需要编辑的内容,可以在 <template>标签下声明一个输入框,并使用插槽来实现数据的绑定。

3、与上面相同的,声明一个 addRow() 的方法,用于增加表格的行数。

4、删除不想要的行,需要对应增加一个 deleteRow() 方法

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title></title>

<script src="js/Jquery1.7.js"></script>

<script src="js/MyAdd.js"></script>

<link href="css/MyPages.css" rel="stylesheet" />

</head>

<body>

<div >

<div id="divInsert">

<div id="divBtn">

<input id="btnDelete" type="button" value="删除行" />

<input id="btnData" type="button" value="插入行" />

<input id="btnInsert" type="button" value="添加行" />

</div>

</div>

<table id="tab" cellpadding="0" cellspacing="0">

<tr>

<td rowspan="2">姓名</td>

<td rowspan="2">年龄</td>

<td colspan="2">血压</td>

</tr>

<tr>

<td>高压</td>

<td>低压</td>

</tr>

</table>

</div>

<div id="mydiv"></div>

</body>

</html>

JS文档

/// <reference path="../WebService1.asmx" />

/// <reference path="../WebService1.asmx" />

$(function () {

//定义一个全局变量i,用来标识添加了几行

var row = 0

var strValue = ""

//将一行添加到table中去

$('#btnInsert').click(function () {

row++

//字符串拼接tr一行中的内容

var tr = "<tr>"

for (var i = 0i <3i++) {

tr += "<td><input id='" + row + "text'" + i + "+' type='text' value=" + row +""+ i + " /></td>"

}

tr += "<td><input class='txt' id='" + i + "text4'+ type='text' value=" + row + "" + 4 + " /><input id='Checkbox1' class='ck' name='ckb' type='checkbox' /></td></tr>"

$("#tab").append(tr)

})

//删除添加的行,先判断checkbox是否选中,然后删除

$('#btnDelete').click(function () {

$("input[name=ckb]:checked").each(function () { $(this).parent().parent().remove()})

})

//将i遍历,判断是否存有值,如果有将数据插入数据库

$('#btnData').click(function () {

$('table input').each(function () {

strValue += $(this).val() + ","

})

$.ajax({

type: 'post',

contentType: 'application/json',

url: "../WebService1.asmx/InsertInfo",

data: "{valuesStr:'" + strValue + "'}",

success: function (result) {

$('#mydiv').html(result.d)

}

})

})

})

CSS文档

table tr td{border:1px solid #eeetext-align:centerwidth:80px}

#divInsert{width:100%height:25px}

#btnInsert{width:50pxheight:25pxbackground-color:#eeeborder-style:noneposition:absoluteleft:185px}

#btnData{width:50pxheight:25pxbackground-color:#eeeborder-style:noneposition:absoluteleft:235px}

#btnDelete{width:50pxheight:25pxbackground-color:#eeeborder-style:noneposition:absoluteleft:285px}

input{width:70px}

.txt{width:35pxfloat:leftposition:relativeleft:5px}

.ck{width:10pxfloat:right}

PersonInfo类文件

namespace ASPOilfiled

{

public class PersonInfo

{

public string Name { getset}

public int Age { getset}

public int Hblood { getset}

public int Lblood { getset}

}

}

WebService1.asmx 文件

[System.Web.Script.Services.ScriptService]

public class WebService1 : System.Web.Services.WebService

{

public static string sqlstr = ConfigurationManager.ConnectionStrings["sqlstr"].ConnectionString

[WebMethod]

public string InsertInfo(string valuesStr)

{

string result = "插入失败!"

string asd = valuesStr.Replace("on,", "")

string[] str2 = System.Text.RegularExpressions.Regex.Split(asd, ",")

//for (int i = 0i <str2.Lengthi++)

//{

//result += str2[i] + "<br/>"

//}

for (int i = 0i <str2.Lengthi++)

{

PersonInfo info

if (i % 4 == 0)

{

info = new PersonInfo()

info.Name = str2[i]

info.Age = Convert.ToInt32(str2[i + 1])

info.Hblood = Convert.ToInt32(str2[i + 2])

info.Lblood = Convert.ToInt32(str2[i + 3])

result = InfoToSql(info).ToString()

}

}

return result

}

public int InfoToSql(PersonInfo info)

{

string instSql = "insert into PersonInfo values(@name,@age,@Hblood,@Lblood)"

SqlConnection con = new SqlConnection(sqlstr)

con.Open()

SqlCommand cmd = con.CreateCommand()

cmd.CommandText = instSql

cmd.Parameters.Add("@name", SqlDbType.VarChar, 32).Value = info.Name

cmd.Parameters.Add("@age", SqlDbType.Int).Value = info.Age

cmd.Parameters.Add("@Hblood", SqlDbType.Int).Value = info.Hblood

cmd.Parameters.Add("@Lblood", SqlDbType.Int).Value = info.Lblood

int i = cmd.ExecuteNonQuery()

cmd.Dispose()

con.Dispose()

return i

}

}


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

原文地址: http://outofmemory.cn/bake/11430859.html

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

发表评论

登录后才能评论

评论列表(0条)

保存