先将csv,excel等表格的数据复制到文本文件中,如文本文件的路径为 FilePath;
步骤2,
执行以下代码
#include <afx.h>
#include "sqlite3.h"吵桐
#include <iostream>
using namespace std
char* G2U(const char* gb2312) //unicode转换成utf—8
{
int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0)
wchar_t* wstr = new wchar_t[len+1] memset(wstr, 0, len+1)
MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len)
len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL)
char* str = new char[len+1] memset(str, 0, len+1)
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL)
if(wstr) delete[] wstr
return str
}
int main() {
int i,j
CStdioFile mReadFile2 CString str1
CString str[9] //存储每一条记录截取后的值,长度可根据字段值自由定义
int MCC,MNC,LAC,PRECISION//定义你所要插入的字段
float O_LNG,O_LAT
char *sql,*zErrMsg
sqlite3 *db
int result=sqlite3_open("*.db",&db)//打开数据库
if (result!=0)
{
cout<<"数据库打开猜悔失败"<<endl
return 0
}
sql = "CREATE TABLE LOCData(MCC INTEGER,MNC INTEGER, LAC INTEGER,O_LNG RAEL,\
O_LAT RAEL,PRECISION INTEGER,ADDRESS VARCHAR(40),REGION VARCHAR(20),CITY VARCHAR(10))"//根据需要创建表
sqlite3_exec(db,sql,0,0,&zErrMsg)
mReadFile2.Open(FilePath,CFile::modeRead | CFile::typeText)
j=0
while(mReadFile2.ReadString(str1) == TRUE) //读取txt中的一行数据
{
mReadFile2.ReadString(str1)
for (i=0i<9i++)
{
if (i!=8)
{
str[i]=str1.Left(str1.Find(" "))//以tab键为标记截取不同字段
str1.Delete(0,str[i].GetLength()+1)
}
else
{
str[i]=str1//最后一个直接复值
}
}
MCC=atoi(str[0])
MNC=atoi(str[1])
LAC=atoi(str[2])
O_LNG=atof(str[3])
O_LAT=atof(str[4])
PRECISION=atoi(str[5]) //转换每穗碰正个字段的类型
sql=sqlite3_mprintf("INSERT INTO LOCData
VALUES(%d,%d,%d,%f,%f,%d,'%s','%s','%s')",MCC,MNC,LAC,O_LNG,O_LAT,PRECISION,G2U(str[6]),G2U(str[7]),G2U(str[8]))//构造sql语句向要表中输入内容
j++
cout<<j
if(sqlite3_exec(db,sql,0,0,&zErrMsg)!=0)//执行
cout<<zErrMsg<<endl
else
cout<<"插入成功"<<endl
}
mReadFile2.Close()
cout<<"转换结束。。。。。。。。。。"
}
1.打开DB文件戚拍枯,选择要转换的“表”----点“文件”----“导出”----选择保存路径高洞----在保存类型中选择“EXCEL”,确定即可。贺高2.用Database4打开你的.DB文件。
3.将文件到处成XLS格式即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)