
这位客官是不是标签的数据内容是变量,希望这些变量数据来自Excel表格呢?如果是的话:
TTP-342标配的条码标签编辑软件Bartender或其它类似标签软件有数据库连接功能(大部分是收费版本才有这个功能,或者破解版),可连接文本,Excel,SQL等数据库类型。
Bartender部分截图举例:
其中的字段名称对应Excel表格的列,所以你的Excel表格应该是下面这个样子的格式:
其它细节客官自己领悟吧,不懂可联系我们。
整体流程,先按照纸张的表格样式在excel上画好表格,然后把数据库中的数据链接到表格相应位置上,最后打印。
中间那个环节(数据库映射到表格)最麻烦,需要用vba实现。
看不到数据库表结构和表格样式,没法进一步帮你。
找个会vba的同事帮你写吧。
1、在自己的电脑上打开Excel,选择页面布局中的打印标题点击进入即可。
2、在打开的页面设置界面中选择工作表,点击打印标题下的顶端标题行对应按钮就可以了。
3、会出现页面设置-顶端标题行的区域提示,在选择表格中第一行的标签之后点击$1:$1对应按钮就可以了。
4、会返回第二步的打印设置页面,这个时候可以看到$1:$1,即表格中第一行的标签已被选择,这样一来点击确定即可用Excel在普通的打印机上打印标签了。
在多人合作项目中偶尔会遇到这样的情况:
现在在调试程序,从其他小伙伴提供的方法中取到的table类型数据报错了,此时我们想检查一下数据格式。但是直接print又无法打印出来这个table的结构,真机测试时又不太方便在Lua中打断点,用for循环来输出又不能展开所有子table(有个dump工具该多好)。
所以,如果想解决上面的问题,将整个table类型数据的结构输出到控制台,那就使用循环+递归的方式来输出数据吧。
下面直接贴上代码以及测试用例:
感谢老司机Reyn在评论中提出的建议
--[[
print_dump是一个用于调试输出数据的函数,能够打印出nil,boolean,number,string,table类型的数据,以及table类型值的元表
参数data表示要输出的数据
参数showMetatable表示是否要输出元表
参数lastCount用于格式控制,用户请勿使用该变量
]]
function print_dump(data, showMetatable, lastCount)
if type(data) ~= "table" then
--Value
if type(data) == "string" then
iowrite("\"", data, "\"")
else
iowrite(tostring(data))
end
else
--Format
local count = lastCount or 0
count = count + 1
iowrite("{\n")
--Metatable
if showMetatable then
for i = 1,count do iowrite("\t") end
local mt = getmetatable(data)
iowrite("\"__metatable\" = ")
print_dump(mt, showMetatable, count) -- 如果不想看到元表的元表,可将showMetatable处填nil
iowrite(",\n") --如果不想在元表后加逗号,可以删除这里的逗号
end
--Key
for key,value in pairs(data) do
for i = 1,count do iowrite("\t") end
if type(key) == "string" then
iowrite("\"", key, "\" = ")
elseif type(key) == "number" then
iowrite("[", key, "] = ")
else
iowrite(tostring(key))
end
print_dump(value, showMetatable, count) -- 如果不想看到子table的元表,可将showMetatable处填nil
iowrite(",\n") --如果不想在table的每一个item后加逗号,可以删除这里的逗号
end
--Format
for i = 1,lastCount or 0 do iowrite("\t") end
iowrite("}")
end
--Format
if not lastCount then
iowrite("\n")
end
end
下面分别输出了nil,boolean,number,string,table类型的数据,测试代码如下:
print("---------------Test---------------")
local myData = nil
print_dump(myData)
print("-------------------")
myData = true
print_dump(myData)
print("-------------------")
myData = 10086
print_dump(myData)
print("-------------------")
myData = "your name"
print_dump(myData)
print("-------------------")
myData = {
null = nil,
bool = true,
num = 20,
str = "abc",
subTab = {"111", "222"},
func = print_dump,
sunTab = {"sun_a", {"sun_1", "sun_2"}, {you = "god", i = "man"}}
}
local mt = {}
mt__add = function(op1, op2) return 1000 end
mt__index = {1,2}
setmetatable(myData, mt)
print_dump(myData, 1) -- 第二个参数不为空则打印元表
print("---------------End---------------")
dump输出的结果是这样的(因为内容太长,屏幕高度不够,所以分成了两张图):
上半部分输出jpeg
下半部分输出jpeg
如果不是有特殊需求,建议按照注释的提示,屏蔽子级table类型值的元表。屏蔽子级table类型值的元表之后输出看起来清爽很多。
屏蔽子级table的元表后的输出jpeg
总结:
其实解决问题不难,需求是成长的直接动力。
其实为了dump输出图上的效果,我还是花了一些时间去做微调。最初末尾是没有换行的,也就是End那一行会紧接着上一行输出,虽然table的结构可以正常看到,但是如果dump的不是一个table,那就看着很奇怪了。时间总是花在细节上。
你可以使用WORD的邮件合并功能,将EXCEL的数据在WORD中打印出来。 方法是: 将需要变动的数据保存在EXCEL表中 建立WORD模板 单击WORD“视图”菜单下的“工具栏”中的“邮件合并”调出邮件合并工具栏 单击“打开数据源”按钮,打开“选择数据源”对话框 选
你把Excel的宏安全设置成中或者低,设置成低附件可以直接使用,但建议设置成中,这样打开下面附件,会提示是否启用宏,点击启用宏,这样附件中的宏就可以使用了,要生成工资条的时候,点击一下那个生成工资按钮,工资条就会自动生成,点击删除工资条按钮,工资就会清除
以上就是关于如何把excel表格数据设置成TTP-342条码打印机的格式进行打印全部的内容,包括:如何把excel表格数据设置成TTP-342条码打印机的格式进行打印、有一个excel数据库,要用打印机把数据库的信息打印到纸张上,且纸张有表格,我怎么把相应的数据打上去、如何用Excel 在普通的打印机上打印标签等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)