小数据还行,大数据没测试。
另,使用fso创建的文本文件编码为ANSI,ajax解析json时出现乱码无法正常解析。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
Sub
ToJson()
'创建UTF8文本文件
myrange = Worksheets(
"sheet1"
).UsedRange
'通过有效数据区来选择数据
'myrange = ActiveWorkbook.Names("schoolinfo").RefersToRange '通过定义的名称来选择数据
'myrange = Range(Worksheets("sheet1").Range("a1").End(xlDown), Worksheets("sheet1").Range("a1").End(xlToRight)) '通过标题行的最大行最大列来选择数据
Total = UBound(myrange, 1)
'获取行数
Fields = UBound(myrange, 2)
'获取列数
Dim
objStream
As
Object
Set
objStream = CreateObject(
"ADODB.Stream"
)
With
objStream
.Type = 2
.Charset =
"UTF-8"
.Open
.WriteText
"{"
"total"
":"
& Total &
","
"contents"
":["
For
i = 2
To
Total
.WriteText
"{"
For
j = 1
To
Fields
.WriteText
""
""
& myrange(1, j) &
""
":"
""
& Replace(myrange(i, j),
""
""
,
"\""
") & "
""
"
If
j <> Fields
Then
.WriteText
","
End
If
Next
If
i = Total
Then
.WriteText
"}"
Else
.WriteText
"},"
End
If
Next
.WriteText
"]}"
.SaveToFile ActiveWorkbook.FullName &
".json"
, 2
End
With
Set
objStream =
Nothing
End
Sub
|
最近在写一网站网页,需要从后台ASP网页查询到的MYSQL记录集返回给前台ASP网页,我们知道AJAX是无力从后台返回数据库记录集给前台网页的.
查阅大量资料,就目前而言记录集转换成JSON格式流,再由前台VBA导入WEBoffice控件的excel是个不错的选择.经过些思考,现将function过程代码奉献给大家.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
Function
GetJSON(Rs)
Dim
JSON
dim returnStr
dim i
dim oneRecord
if Rs.eof=false and Rs.Bof=false then
returnStr=
"{ "
&chr(34)&
"records"
&chr(34)&
":["
while Rs.eof=false
for i=0 to Rs.Fields.Count -1
oneRecord=oneRecord & chr(34) & Rs.Fields(i).Name & chr(34) &
":"
oneRecord=oneRecord & chr(34) & Rs.Fields(i).Value & chr(34) &
","
Next
oneRecord=left(oneRecord,InStrRev(oneRecord,
","
)-1)
oneRecord=oneRecord &
"},"
returnStr=returnStr & oneRecord
Rs.MoveNext
Wend
returnStr=left(returnStr,InStrRev(returnStr,
","
)-1)
returnStr=returnStr &
"]}"
end if
GetJSON=returnStr
End
Function
|
查阅大量资料,就目前而言记录集转换成JSON格式流,再由前台VBA导入WEBoffice控件的excel是个不错的选择.经过些思考,现将function过程代码奉献给大家.最近在写一网站网页,需要从后台ASP网页查询到的MYSQL记录集返回给前台ASP网页,我们知道AJAX是无力从后台返回数据库记录集给前台网页的.另,使用fso创建的文本文件编码为ANSI,ajax解析json时出现乱码无法正常解析。然后遍历数据区,格式化数据,输出即可。小数据还行,大数据没测试。
将工作表数据保存为文本
文件
.zip源码
EXCEL
VBA
宏编程
Excel
VBA
实用技巧范例下载将工作表数据保存为文本
文件
.zip源码
EXCEL
VBA
宏编程
Excel
VBA
实用技巧范例下载将工作表数据保存为文本
文件
.zip源码
EXCEL
VBA
宏编程
Excel
VBA
实用技巧范例下载将工作表数据保存为文本
文件
.zip源码
EXCEL
VBA
宏编程
Excel
VBA
实用技巧范例下载
1.合个人学习技术做项目参考合个人学习技术做项目参考
2.适合学生做毕业设计项目参考适合学生做毕业设计项目技术参考
3.适合小团队开发项目技术参考适合小团队开发项目技术参考
Dim
excel
Range As Range
Dim
json
Items As New Collection
Dim
json
Dictionary As New Dictionary
Dim
json
FileObject As New FileSystemObject
Dim
json
FileExport As TextStream
Dim i As Long
Dim cell As Variant
Set
excel
Range = Cells(
Excel
To
Json
为什么需要
Excel
导出
Json
上脚本脚本说明脚本限制来源说明
为什么需要
Excel
导出
Json
在游戏制作中,免不了要使用各种配置
文件
,而常用的配置
文件
格式有csv、xml、
json
、lua等,本人习惯使用
json
格式,原因很简单,配置清晰可读性强,其他优点不一而述。
本文主要介绍如何在Mac系统上使用
excel
的
VBA
自动导出
json
文件
,当然Windows下也完美使用。...
with open(path, "w", encoding='utf-8') as f:
f.write(item + ",\n")
print("保存"+path+"
文件
到本地完成")
打开文本
文件
,将读取JOSN
文件
的数据并转码复制到buff中,先遇到“]”符号截取文本复,然后再在截取的文本中查“{”,遇到该符后截取复制到单元格中并换行。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$M$1" Then
With Application.FileDialog(msoFileDialogFilePicker)
说明: 不依赖MSScriptControl.ScriptControl,网上收一大堆都是需要依赖MSScriptControl.ScriptControl,但是经常提示"类未注册".
Write
Json
将结构体转
json
字符串
vb中对象需要set, 所以不管根节点是字典还是数组,都封装了一层数组.所以永远返回数组arr.
arr只有1个元素 ,判断arr(0)的类型, 字符串型表示error提示, object 或者数组即为成功. arr(0)是
json
的根节点.
writ...
VBA
是Visual Basic for Applications的简称,它是一种编程语言,可以用于在
Excel
中自动化执行各种任务。通过使用
VBA
,可以实现从
Excel
中提取数据并自动
生成
Word文档的功能。
要通过
VBA
提取
Excel
数据并
生成
Word文档,可以按照以下步骤进行操作:
1. 打开
Excel
文件
,选择包含要提取的数据的工作表。
2. 在
Excel
中创建一个
VBA
宏。可以通过按下Alt+F11键打开
VBA
编辑器,并在项目资源管理器中双击“Sheet1”(或包含数据的工作表)。
3. 在
VBA
编辑器中编写代码来提取
Excel
数据。可以使用循环语句来遍历所需的数据范围,并将数据存储在变量中。
4. 创建一个新的Word文档。可以使用`Documents.Add`方法创建一个新的文档对象。
5. 使用
VBA
代码将
Excel
数据写入Word文档。可以使用`Selection`对象或`Range`对象来粘贴数据到Word文档中的特定位置。
6. 格式化Word文档。可以使用
VBA
代码来设置字体、段落格式、表格等。例如,可以使用`Font`对象设置文本的字体和大小,并使用`ParagraphFormat`对象设置文本的对齐方式和行间距。
7. 保存并关闭Word文档。可以使用`SaveAs`方法将文档保存为指定的
文件
名和路径,并使用`Close`方法关闭文档。
8. 在
VBA
编辑器中运行宏。可以按下F5键或通过在
Excel
中分配一个快捷键来运行宏。
通过以上步骤,就可以利用
VBA
提取
Excel
数据并自动
生成
Word文档。这样可以方便快捷地将
Excel
中的数据转移到Word,节省了手动操作的时间和劳动。