C++高手看看
读的时候是这样的一个思路,先用一个输入流(InputStream)得到Excel文件,然后用jxl中的Workbook得到工作薄,用Sheet从工作薄中得到工作表,用Ce...
读的时候是这样的一个思路,先用一个输入流(InputStream)得到Excel文件,然后用jxl中的Workbook得到工作薄,用Sheet从工作薄中得到工作表,用Cell得到工作表中得某个单元格.
InputStream->Workbook->Sheet->Cell,就得到了excel文件中的单元格
代码:
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.io.*,jxl.*,jxl.write.*,jxl.write.*,jxl.format.*" %>
String path="c:\\excel.xls";//Excel文件URL
InputStream is = new FileInputStream(path);//写入到FileInputStream
jxl.Workbook wb = Workbook.getWorkbook(is); //得到工作薄
jxl.Sheet st = wb.getSheet(0);//得到工作薄中的第一个工作表
Cell cell=st.getCell(0,0);//得到工作表的第一个单元格,即A1
String content=cell.getContents();//getContents()将Cell中的字符转为字符串
怎么总觉得少了些什么 展开
InputStream->Workbook->Sheet->Cell,就得到了excel文件中的单元格
代码:
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.io.*,jxl.*,jxl.write.*,jxl.write.*,jxl.format.*" %>
String path="c:\\excel.xls";//Excel文件URL
InputStream is = new FileInputStream(path);//写入到FileInputStream
jxl.Workbook wb = Workbook.getWorkbook(is); //得到工作薄
jxl.Sheet st = wb.getSheet(0);//得到工作薄中的第一个工作表
Cell cell=st.getCell(0,0);//得到工作表的第一个单元格,即A1
String content=cell.getContents();//getContents()将Cell中的字符转为字符串
怎么总觉得少了些什么 展开
2013-09-20
展开全部
CDatabase database;
CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动
CString sExcelFile;
CString sSql;
CFileDialog fileDialog( FALSE,"XLS", "",
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"电子表格文件(*.XLS)|*.XLS|", NULL);
fileDialog.m_ofn.lpstrTitle="输入记录保存的Excel文件名";
if(fileDialog.DoModal() != IDOK)
return;
sExcelFile = fileDialog.GetPathName(); // 要建立的Excel文件
CFileStatus tFileStatus;
if(CFile::GetStatus(sExcelFile,tFileStatus)==TRUE)
{
TRY
{
CFile::Remove(sExcelFile);
}
CATCH_ALL(e)
{
ShowMessageBox("删除原有Excel文件失败!\n请选择新的Excel文件名",FALSE);
return ;
}
END_CATCH_ALL;
}
TRY
{
// 创建进行存取的字符串
sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriver, sExcelFile, sExcelFile);
// 创建数据库 (既Excel表格文件)
if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )
{
// 创建表结构(姓名、年龄)
sSql = "CREATE TABLE 接收信息记录 (信息编号 TEXT,接收时间 TEXT,姓名 TEXT,手机号 TEXT,接收设备 TEXT,短信内容 TEXT,已阅读 TEXT,已回复 TEXT)";
database.ExecuteSQL(sSql);
// 插入数值
for(int i=0;i<m_ctrlRecvMsgLogListctrl.GetItemCount();i++)
{
CString strRecvTime=m_ctrlRecvMsgLogListctrl.GetItemText(i, 0 );
CString strLinkman=m_ctrlRecvMsgLogListctrl.GetItemText(i, 1 );
CString strPhoneNumber=m_ctrlRecvMsgLogListctrl.GetItemText(i, 2 );
CString strRecvModem=m_ctrlRecvMsgLogListctrl.GetItemText(i, 3 );
CString strMsgContent=m_ctrlRecvMsgLogListctrl.GetItemText(i, 4 );
CString strReadStatus=m_ctrlRecvMsgLogListctrl.GetItemText(i, 5 );
CString strReportStaus=m_ctrlRecvMsgLogListctrl.GetItemText(i, 6 );
CString strMsgIndex=m_ctrlRecvMsgLogListctrl.GetItemText(i, 7 );
strMsgContent=CheckSmsContent(strMsgContent);
sSql.Format("INSERT INTO 接收信息记录 (信息编号,接收时间,姓名,手机号,接收设备,短信内容,已阅读,已回复) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s')",
ConvertString(strMsgIndex),ConvertString(strRecvTime),
ConvertString(strLinkman),ConvertString(strPhoneNumber),
ConvertString(strRecvModem),ConvertString(strMsgContent),
ConvertString(strReadStatus),ConvertString(strReportStaus));
database.ExecuteSQL(sSql);
SetCursor(AfxGetApp()->LoadStandardCursor(IDC_WAIT));
}
}
// 关闭数据库
database.Close();
看下这个 你改下就行
CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动
CString sExcelFile;
CString sSql;
CFileDialog fileDialog( FALSE,"XLS", "",
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"电子表格文件(*.XLS)|*.XLS|", NULL);
fileDialog.m_ofn.lpstrTitle="输入记录保存的Excel文件名";
if(fileDialog.DoModal() != IDOK)
return;
sExcelFile = fileDialog.GetPathName(); // 要建立的Excel文件
CFileStatus tFileStatus;
if(CFile::GetStatus(sExcelFile,tFileStatus)==TRUE)
{
TRY
{
CFile::Remove(sExcelFile);
}
CATCH_ALL(e)
{
ShowMessageBox("删除原有Excel文件失败!\n请选择新的Excel文件名",FALSE);
return ;
}
END_CATCH_ALL;
}
TRY
{
// 创建进行存取的字符串
sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriver, sExcelFile, sExcelFile);
// 创建数据库 (既Excel表格文件)
if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )
{
// 创建表结构(姓名、年龄)
sSql = "CREATE TABLE 接收信息记录 (信息编号 TEXT,接收时间 TEXT,姓名 TEXT,手机号 TEXT,接收设备 TEXT,短信内容 TEXT,已阅读 TEXT,已回复 TEXT)";
database.ExecuteSQL(sSql);
// 插入数值
for(int i=0;i<m_ctrlRecvMsgLogListctrl.GetItemCount();i++)
{
CString strRecvTime=m_ctrlRecvMsgLogListctrl.GetItemText(i, 0 );
CString strLinkman=m_ctrlRecvMsgLogListctrl.GetItemText(i, 1 );
CString strPhoneNumber=m_ctrlRecvMsgLogListctrl.GetItemText(i, 2 );
CString strRecvModem=m_ctrlRecvMsgLogListctrl.GetItemText(i, 3 );
CString strMsgContent=m_ctrlRecvMsgLogListctrl.GetItemText(i, 4 );
CString strReadStatus=m_ctrlRecvMsgLogListctrl.GetItemText(i, 5 );
CString strReportStaus=m_ctrlRecvMsgLogListctrl.GetItemText(i, 6 );
CString strMsgIndex=m_ctrlRecvMsgLogListctrl.GetItemText(i, 7 );
strMsgContent=CheckSmsContent(strMsgContent);
sSql.Format("INSERT INTO 接收信息记录 (信息编号,接收时间,姓名,手机号,接收设备,短信内容,已阅读,已回复) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s')",
ConvertString(strMsgIndex),ConvertString(strRecvTime),
ConvertString(strLinkman),ConvertString(strPhoneNumber),
ConvertString(strRecvModem),ConvertString(strMsgContent),
ConvertString(strReadStatus),ConvertString(strReportStaus));
database.ExecuteSQL(sSql);
SetCursor(AfxGetApp()->LoadStandardCursor(IDC_WAIT));
}
}
// 关闭数据库
database.Close();
看下这个 你改下就行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询