㈠ python怎么读写excel文件
最近用python处理一个小项目,其中涉及到对excel的读写操作,通过查资料及实践做了一下总结,以便以后用。
python读写excel文件要用到两个库:xlrd和xlwt,首先下载安装这两个库。
1、#读取Excel
importxlrd
data = xlrd.open_workbook(excelFile)
table = data.sheets()[0]
nrows = table.nrows #行数
ncols = table.ncols #列数
for i in xrange(0,nrows):rowValues= table.row_values(i) #某一行数据for item in rowValues:printitem
2、写Excel文件
'''往EXCEl单元格写内容,每次写一行sheet:页签名称;row:行内容列表;rowIndex:行索引;
isBold:true:粗字段,false:普通字体'''
defWriteSheetRow(sheet,rowValueList,rowIndex,isBold):
i = 0
style = xlwt.easyxf('font: bold 1')
#style = xlwt.easyxf('font: bold 0, color red;')#红色字体
#style2 = xlwt.easyxf('pattern: pattern solid, fore_colour yellow; font: bold on;') # 设置Excel单元格的背景色为黄色,字体为粗体
forsvalue inrowValueList:
strValue = unicode(str(svalue),'utf-8')
ifisBold:
sheet.write(rowIndex,i,strValue,style)
else:
sheet.write(rowIndex,i,strValue)
i = i + 1
'''写excel文件'''
defsave_Excel(strFile):
excelFile = unicode(strFile,"utf8")
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('sheet1',cell_overwrite_ok=True)
headList = ['标题1','标题2','标题3','标题4','总计']
rowIndex = 0
WriteSheetRow(sheet,headList,rowIndex,True)
fori inxrange(1,11):
rowIndex = rowIndex + 1
valueList = []
forj inxrange(1,5):
valueList.append(j*i)
WriteSheetRow(sheet,valueList,rowIndex,False)
wbk.save(excelFile)
style2 = xlwt.easyxf('pattern: pattern solid, fore_colour yellow; font: bold on;')
在设置上Excel单元格的背景色时,fore_colour支持的颜色是有限的,仅支持一下颜色
aqua 0x31black 0x08blue 0x0Cblue_gray 0x36bright_green 0x0Bbrown 0x3Ccoral 0x1Dcyan_ega 0x0Fdark_blue 0x12dark_blue_ega 0x12dark_green 0x3Adark_green_ega 0x11dark_purple 0x1Cdark_red 0x10dark_red_ega 0x10dark_teal 0x38dark_yellow 0x13gold 0x33gray_ega 0x17gray25 0x16gray40 0x37gray50 0x17gray80 0x3Fgreen 0x11ice_blue 0x1Findigo 0x3Eivory 0x1Alavender 0x2Elight_blue 0x30light_green 0x2Alight_orange 0x34light_turquoise 0x29light_yellow 0x2Blime 0x32magenta_ega 0x0Eocean_blue 0x1Eolive_ega 0x13olive_green 0x3Borange 0x35pale_blue 0x2Cperiwinkle 0x18pink 0x0Eplum 0x3Dpurple_ega 0x14red 0x0Arose 0x2Dsea_green 0x39silver_ega 0x16sky_blue 0x28tan 0x2Fteal 0x15teal_ega 0x15turquoise 0x0Fviolet 0x14white 0x09yellow 0x0D"""另外一种方式是 用pyExcelerator
㈡ 如何读取excel文件
1.新建一个excel文件,在里面写入两行数据,如下所示:2.打开visual studio新建一个web窗体应用程序,如下所示:3.在default.aspx中,添加一个按钮控件,添加一个gridview控件,按钮用于点击的时候连接excel获取数据,gridview用于展示数据。
㈢ C#如何对Excel文件进行读写
nuget 搜索npoi插件,然后网络搜索npoi用法,非常简单操作excel,不需要计算机安装office
㈣ [c++]推荐一个可以读写EXCEL的方法!
想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行:1. 在StdAfx.h文件中加入:include <afxdb.h> include <odbcinst.h>2. 通过ODBC直接创建Excel文件(暂定文件名:Demo.xls)//创建并写入Excel文件void CRWExcel::WriteToExcel(){CDatabase database;CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动CString sExcelFile = "c:\\demo.xls"; // 要建立的Excel文件CString sSql;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 demo (Name TEXT,Age NUMBER)";database.ExecuteSQL(sSql);// 插入数值sSql = "INSERT INTO demo (Name,Age) VALUES ('徐景周',26)";database.ExecuteSQL(sSql);sSql = "INSERT INTO demo (Name,Age) VALUES ('徐志慧',22)";database.ExecuteSQL(sSql);sSql = "INSERT INTO demo (Name,Age) VALUES ('郭徽',27)";database.ExecuteSQL(sSql);} // 关闭数据库database.Close();}CATCH_ALL(e){TRACE1("Excel驱动没有安装: %s",sDriver);}END_CATCH_ALL;}3. 通过ODBC直接读取Excel文件(暂定文件名:Demo.xls)// 读取Excel文件void CRWExcel::ReadFromExcel() {CDatabase database;CString sSql;CString sItem1, sItem2;CString sDriver;CString sDsn;CString sFile = "Demo.xls"; // 将被读取的Excel文件名// 检索是否安装有Excel驱动 "Microsoft Excel Driver (*.xls)" sDriver = GetExcelDriver();if (sDriver.IsEmpty()){// 没有发现Excel驱动AfxMessageBox("没有安装Excel驱动!");return;}// 创建进行存取的字符串sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, sFile);TRY{// 打开数据库(既Excel文件)database.Open(NULL, false, false, sDsn);CRecordset recset(&database);// 设置读取的查询语句.sSql = "SELECT Name, Age " "FROM demo " "ORDER BY Name ";// 执行查询语句recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly);// 获取查询结果while (!recset.IsEOF()){//读取Excel内部数值recset.GetFieldValue("Name ", sItem1);recset.GetFieldValue("Age", sItem2);// 移到下一行recset.MoveNext();}// 关闭数据库database.Close();}CATCH(CDBException, e){// 数据库操作产生异常时…AfxMessageBox("数据库错误: " + e->m_strError);}END_CATCH;}// 获取ODBC中Excel驱动CString CRWExcel::GetExcelDriver(){char szBuf[2001];WORD cbBufMax = 2000;WORD cbBufOut;char *pszBuf = szBuf;CString sDriver;// 获取已安装驱动的名称(涵数在odbcinst.h里)if (!SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut))return "";// 检索已安装的驱动是否有Excel…do{if (strstr(pszBuf, "Excel") != 0){//发现 !sDriver = CString(pszBuf);break;}pszBuf = strchr(pszBuf, '\0') + 1;}while (pszBuf[1] != '\0');return sDriver;}
㈤ C语言读取excel文件的数据
简单的方法是通过ODBC来实现:具体实现一、 包含文件操作类头文件#include "CSpreadSheet.h"二、 新建Excel文件,并写入默认数据// 新建Excel文件名及路径,TestSheet为内部表名CSpreadSheet SS("c:\\Test.xls", "TestSheet");CStringArray sampleArray, testRow;SS.BeginTransaction();// 加入标题sampleArray.RemoveAll();sampleArray.Add("姓名");sampleArray.Add("年龄");SS.AddHeaders(sampleArray);// 加入数据CString strName[] = {"徐景周","徐志慧","郭徽","牛英俊","朱小鹏"};CString strAge[] = {"27","23","28","27","26"};for(int i = 0; i < sizeof(strName)/sizeof(CString); i++){sampleArray.RemoveAll();sampleArray.Add(strName[i]);sampleArray.Add(strAge[i]);SS.AddRow(sampleArray);}SS.Commit();三、 读取Excel文件数据CSpreadSheet SS("c:\\Test.xls", "TestSheet");CStringArray Rows, Column;//清空列表框m_AccessList.ResetContent();for (int i = 1; i <= SS.GetTotalRows(); i++){// 读取一行SS.ReadRow(Rows, i);CString strContents = "";for (int j = 1; j <= Rows.GetSize(); j++){if(j == 1)strContents = Rows.GetAt(j-1);elsestrContents = strContents + " –> " + Rows.GetAt(j-1);}m_AccessList.AddString(strContents);}
㈥ (菜鸟提问)如何实现用C语言读写excel文档
牛~这个也算菜鸟问题啊?如果机器上装了Excel可以使用COM来实现你的想法如果机器上没装Excel建议你使用第三方库来完成你的想法
㈦ vc++怎样从excel文件中读写数据
转载:首先利用Visual C++ 6.0,建立一个MFC基于对话框的工程项目,共享DLL,Win32平台。工程名称ExcelTest。在主对话框中加入一个按钮,ID IDC_EXCELTESTCaption Test Excel双击该按钮,增加成员函数void CExcelTestDlg::OnExceltest()。在BOOL CExcelTestApp::InitInstance()中,dlg.DoModal();之前增加代码:if (CoInitialize(NULL)!=0){AfxMessageBox("初始化COM支持库失败!");exit(1);}在return FALSE; 语句前,加入:CoUninitialize();选择Menu->View->ClassWizade,打开ClassWizade窗口,选择Add Class->From a type library,选择D:\Program Files\Microsoft Office\office\Excel9.OLB(D:\Program Files\Microsoft Office\是本机上Microsoft Office 2000的安装目录,可根据个人机器上的实际安装目录修改)。选择_Application、Workbooks、_Workbook、 Worksheets、_Worksheet、Range,加入新类,分别为_Application、Workbooks、_Workbook、 Worksheets、_Worksheet、Range,头文件Excel9.h,源文件Excel9.cpp。在ExcelTestDlg.cpp文件的头部,#include "ExcelTestDlg.h"语句之下,增加 :#include "comdef.h"#include "Excel9.h"在void CExcelTestDlg::OnExceltest() 函数中增加如下代码:void CExcelTestDlg::OnExceltest(){_Application ExcelApp;Workbooks wbsMyBooks;_Workbook wbMyBook;Worksheets wssMysheets;_Worksheet wsMysheet;Range rgMyRge;//创建Excel 2000服务器(启动Excel)if (!ExcelApp.CreateDispatch("Excel.Application",NULL)){AfxMessageBox("创建Excel服务失败!");exit(1);}//利用模板文件建立新文档wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t("g:\\exceltest\\MyTemplate.xlt")));//得到WorksheetswssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);//得到sheet1wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);//得到全部Cells,此时,rgMyRge是cells的集合rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);//设置1行1列的单元的值rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("This Is A Excel Test Program!"));//得到所有的列rgMyRge.AttachDispatch(wsMysheet.GetColumns(),true);//得到第一列rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)1),vtMissing).pdispVal,true);//设置列宽rgMyRge.SetColumnWidth(_variant_t((long)200));//调用模板中预先存放的宏ExcelApp.Run(_variant_t("CopyRow"),_variant_t((long)10),vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing);//打印预览wbMyBook.SetSaved(true);ExcelApp.SetVisible(true);wbMyBook.PrintPreview(_variant_t(false));//释放对象rgMyRge.ReleaseDispatch();wsMysheet.ReleaseDispatch();wssMysheets.ReleaseDispatch();wbMyBook.ReleaseDispatch();wbsMyBooks.ReleaseDispatch();ExcelApp.ReleaseDispatch();}
㈧ 有没有读写Excel文档的功能
是单独的读,还是写,还是读写。读是有的,因为是不常用的功能键,在功能菜单中不显示,需要自定义去找。如果是你一读他就写,那就试一试微软的语音输入。
㈨ 浅谈java读写Excel的几种途径
读写Excel文件需要使用Excel类库,如Free Spire.XLS for Java.
读取Excel内容:
//创建Workbook对象Workbookwb=newWorkbook();//加载一个Excel文档wb.loadFromFile("C:\Users\Administrator\Desktop\test.xlsx");//获取第一个工作表Worksheetsheet=wb.getWorksheets().get(0);//遍历工作表的每一行for(inti=1;i<sheet.getLastRow()+1;i++){//遍历工作的每一列for(intj=1;j<sheet.getLastColumn()+1;j++){//输出指定单元格的数据System.out.print(sheet.get(i,j).getText());System.out.print("");}System.out.print("");}
写入内容:
//创建Workbook对象Workbookwb=newWorkbook();//加载一个Excel文档wb.loadFromFile("C:\Users\Administrator\Desktop\test.xlsx");//获取第一个工作表Worksheetsheet=wb.getWorksheets().get(0);//在单元格A1写入新数据sheet.getCellRange("A1").setText("你好");//保存文档wb.saveToFile("写入Excel.xlsx",ExcelVersion.Version2016);
㈩ 如何用DELPHI读写EXCEL文件
ith qrySel do begin ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source= '+ 'e:\test.xls' + ';Extended Properties=Excel 8.0;'; Close; SQL.Clear; sql.Add('SELECT * FROM [Sheet1$]'); try Open; except end; end;
未经允许不得转载:山九号 » 读写excel文件|C语言读取excel文件的数据