140 lines
3.9 KiB
HTML
140 lines
3.9 KiB
HTML
|
|
<!DOCTYPE html>
|
|||
|
|
<html lang="zh-cn">
|
|||
|
|
<head>
|
|||
|
|
<meta charset="UTF-8">
|
|||
|
|
<title>sqlite数据库测试</title>
|
|||
|
|
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
|
|||
|
|
<script src="https://cdn.bootcss.com/sql.js/0.5.0/js/sql-optimized.js"></script>
|
|||
|
|
</head>
|
|||
|
|
<body>
|
|||
|
|
|
|||
|
|
<p>sqlite数据库测试,使用js操作sqlite数据库</p>
|
|||
|
|
<p>这里使用axios读取test.db文件,进行初始化数据库连接,</p>
|
|||
|
|
<p>查询速度不快,除非不想写后台要直接操作数据库,不然没什么用。</p>
|
|||
|
|
<p>具体效果可查看代码和控制台打印的数据。</p>
|
|||
|
|
<button onclick="exportfile()"></button>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
//export csv
|
|||
|
|
function tableToExcel(){
|
|||
|
|
//要导出的json数据
|
|||
|
|
const jsonData = [
|
|||
|
|
{
|
|||
|
|
name:'路人甲',
|
|||
|
|
phone:'123456789',
|
|||
|
|
email:'000@123456.com'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name:'炮灰乙',
|
|||
|
|
phone:'123456789',
|
|||
|
|
email:'000@123456.com'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name:'土匪丙',
|
|||
|
|
phone:'123456789',
|
|||
|
|
email:'000@123456.com'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name:'流氓丁',
|
|||
|
|
phone:'123456789',
|
|||
|
|
email:'000@123456.com'
|
|||
|
|
},
|
|||
|
|
]
|
|||
|
|
//列标题,逗号隔开,每一个逗号就是隔开一个单元格
|
|||
|
|
let str = `姓名,电话,邮箱\n`;
|
|||
|
|
//增加\t为了不让表格显示科学计数法或者其他格式
|
|||
|
|
for(let i = 0 ; i < jsonData.length ; i++ ){
|
|||
|
|
for(let item in jsonData[i]){
|
|||
|
|
str+=`${jsonData[i][item] + '\t'},`;
|
|||
|
|
}
|
|||
|
|
str+='\n';
|
|||
|
|
}
|
|||
|
|
//encodeURIComponent解决中文乱码
|
|||
|
|
let uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);
|
|||
|
|
//通过创建a标签实现
|
|||
|
|
let link = document.createElement("a");
|
|||
|
|
link.href = uri;
|
|||
|
|
//对下载的文件命名
|
|||
|
|
link.download = "json数据表.csv";
|
|||
|
|
document.body.appendChild(link);
|
|||
|
|
link.click();
|
|||
|
|
document.body.removeChild(link);
|
|||
|
|
}
|
|||
|
|
//tableToExcel()
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
|
|||
|
|
function downloadUrl(filename, url) {
|
|||
|
|
var element = document.createElement('a');
|
|||
|
|
element.setAttribute('href', url);
|
|||
|
|
element.setAttribute('download', filename);
|
|||
|
|
|
|||
|
|
element.style.display = 'none';
|
|||
|
|
document.body.appendChild(element);
|
|||
|
|
|
|||
|
|
element.click();
|
|||
|
|
|
|||
|
|
document.body.removeChild(element);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function DownloadContent(filename,content) {
|
|||
|
|
var eleLink = document.createElement('a');
|
|||
|
|
eleLink.download = filename;
|
|||
|
|
eleLink.style.display = 'none';
|
|||
|
|
// 字符内容转变成blob地址
|
|||
|
|
var blob = new Blob([content]);
|
|||
|
|
eleLink.href = URL.createObjectURL(blob);
|
|||
|
|
// 触发点击
|
|||
|
|
document.body.appendChild(eleLink);
|
|||
|
|
eleLink.click();
|
|||
|
|
// 然后移除
|
|||
|
|
document.body.removeChild(eleLink);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
function exportfile(){
|
|||
|
|
var data;
|
|||
|
|
axios.get('deescloud/getDeesAuthDb', {
|
|||
|
|
})
|
|||
|
|
.then(function (response) {
|
|||
|
|
console.log(response.data);
|
|||
|
|
data = response.data;
|
|||
|
|
|
|||
|
|
//console.log(data)
|
|||
|
|
//downloadUrl("auth.db",'deescloud/getDeesAuthDb?id=123')
|
|||
|
|
downloadUrl("auth.db",'file/foo.db')
|
|||
|
|
|
|||
|
|
var d=new Array();
|
|||
|
|
console
|
|||
|
|
for (var i = 0; i < data.length; i++) {
|
|||
|
|
d.push(data[i]);
|
|||
|
|
}
|
|||
|
|
//DownloadContent("auth.db",d);
|
|||
|
|
|
|||
|
|
//exportRaw('auth.db',data)
|
|||
|
|
})
|
|||
|
|
.catch(function (error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
function fakeClick(obj) {
|
|||
|
|
var ev = document.createEvent("MouseEvents");
|
|||
|
|
ev.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
|
|||
|
|
obj.dispatchEvent(ev);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function exportRaw(name, data) {
|
|||
|
|
var urlObject = window.URL || window.webkitURL || window;
|
|||
|
|
var export_blob = new Blob([data]);
|
|||
|
|
var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
|
|||
|
|
save_link.href = urlObject.createObjectURL(export_blob);
|
|||
|
|
save_link.download = name;
|
|||
|
|
fakeClick(save_link);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
</script>
|
|||
|
|
</body>
|
|||
|
|
</html>
|