c#如何将列表中的数据写入到Excel当中去 50C

c#如何将列表中的数据写入到Excel当中去。数据处理完后导入到Excel当中

6个回答

c#向Excel写入数据的三种形式http://m.blog.csdn.net/article/details?id=7026190

我整理过一个NPOI 你看下 里面导入导出 03 07都支持..

http://bbs.csdn.net/topics/390830774

发个地址这么费劲...

 public void DataGridViewToExcel(DataGridView dgv, string name)
        {    
            //总可见列数,总可见行数 
            int colCount = dgv.Columns.GetColumnCount(DataGridViewElementStates.Visible);
            int rowCount = dgv.Rows.GetRowCount(DataGridViewElementStates.Visible);
            //dataGridView 没有数据提示 
            if (dgv.Rows.Count == 0 || rowCount == 0) { MessageBox.Show("表中没有数据", "提示"); }
            else
            {                //选择创建文件的路径         
                SaveFileDialog save = new SaveFileDialog(); 
                save.Filter = "excel files(*.xls)|*.xls"; 
                save.Title = "请选择要导出数据的位置";
                save.FileName = name + DateTime.Now.ToLongDateString();
                if (save.ShowDialog() == DialogResult.OK)
                {
                    string fileName = save.FileName;                    //MessageBox.Show(save.FileName);
                    // 创建Excel对象     
                    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//new Microsoft.Office.Interop.Excel.ApplicationClass();    
                    if (excel == null) { MessageBox.Show("Excel无法启动", "提示"); return; }
                    //创建Excel工作薄        
                    Microsoft.Office.Interop.Excel.Workbook excelBook = excel.Workbooks.Add(true);
                    Microsoft.Office.Interop.Excel.Worksheet excelSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelBook.Worksheets[1];
                    //excel.Application.Workbooks.Add(true);
                    //生成字段名称      
                    int k = 0; for (int i = 0; i < dgv.ColumnCount; i++)
                    {
                        if (dgv.Columns[i].Visible)  //不导出隐藏的列               
                        { excel.Cells[1, k + 1] = dgv.Columns[i].HeaderText; k++; }
                    }
                    //填充数据
                    for (int i = 0; i < dgv.RowCount; i++)
                    {
                        k = 0; for (int j = 0; j < dgv.ColumnCount; j++)
                        {
                            if (dgv.Columns[j].Visible)
                            //不导出隐藏的列   
                            {
                                if (dgv[j, i].ValueType == typeof(string))
                                { excel.Cells[i + 2, k + 1] = "" + dgv[j, i].Value.ToString(); }
                                else { excel.Cells[i + 2, k + 1] = dgv[j, i].Value.ToString(); }
                            } k++;
                        }
                    } try { excelBook.Saved = true; excelBook.SaveCopyAs(fileName); }
                    catch { MessageBox.Show("导出失败,文件可能正在使用中", "提示"); }
                }
            }
        }

https://zhidao.baidu.com/question/649774113350089285.html

c# excel导入导出可使用第三方类库,EPPLUS NPOI等。实现起来比较简单。对于列表中数据导出到excel表格里, 其实就是将list转换为excel.
无论使用哪种第三方类库,道理都是相同的。
你可以仔细看下链接中的介绍,比较的通俗易懂。有源代码供你参考使用。希望对你有帮助。
https://mp.weixin.qq.com/s?__biz=MzAxMTMxMDQ3Mw==&mid=2660099904&idx=2&sn=1c4c37cd439dd42d48ce590275121b25&chksm=803a43a6b74dcab0939f54e32903521be9bc563498773c0a0e482fa4fd1f0a5d8ae92a63d507&scene=4&key=41cc67db7e0a07a6dbc8cd844e0543f6399b22d97aa37ba11c405bb276b1a994529af03d58bb49e81b16ac27bddcdd5948baef761820d5af64f8be0b48e783dc907abba0f9992252f2d953a7d3e225f6&ascene=7&uin=MjQzMzAxODMyMg%3D%3D&devicetype=Windows+10&version=6203005d&pass_ticket=KbQdYl5%2FMsCsXZtwVfhEm3EwxKPpt0KRk%2BSTeNvdTIpQwCU%2B%2F%2BPDbKNAX0frijO0&winzoom=1

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#向已存在excel文件中写入数据
C#向已存在excel文件中写入数据 一直报这个错误怎么解决。 还有没有别的写入方法
C#怎样通过代码实现讲数据导入excel表并将excel设置为只读模式
C#怎样通过代码实现讲数据导入excel表并将excel设置为只读模式,目前写入数据没问题,关键就是怎么设为只读
C#对Excel单元格写入数据,无论是Update、Insert,都只写入第一行,为什么?
string cell[5] = {"B","C","D","E","F"}; For( i=1;i<=40;i++) For(j=1;j<=5;j++) {cellname= cell[j]+string.format("%d",i+1); string data = "22.5"; Excel.Write("sheet1",cellname,(i+1),data);} Excel操作函数为: write(string sheetname, string cellname, int lines, string writedata) { OleDbCommand command= null; if(this,conOleDB != null) { try { this.conOleDB.Open(); command = new OleDbCommand(string.Format("UPDATE [{0}${1}:{2}] Set F{3}=\"{4}\"", new object[] { sheetName, cell Name, cellName, Lines, value2Write }), this.conOleDB); command.ExecuteNonQuery(); } catch(Exception exception) { ....... } } 如果想实现在Excel表指定区域(2-42行,(B-F)列写入数据,应该如何更改)??
NPOI读取和写入Excel数据时候,怎么可以按照单元格数据的样式,存取和写入数据到Excel表格中呢?
首先我先读取到一个Excel中的数据,使用List<List<object>>将数据存储起来。 然后再写入到另一个Excel文件中,写入时,需要指定写入数据的格式,例如DateTime,Bool,String,Double等,这个时候我该怎么实现?
C#使用NPOI读写Excel文件,可以做去重复处理嘛
使用NPOI读取excel文件将数据处理,重新写入另一路径下得excel文件 在有数据是重复的基本上就是1,1,1,1,3,2,2,2,4这种如何,处理为1,3,2,4这种。
C# dataGridView数据导到Excel里面 标题是英文了,怎么改成中文的?
private void SaveFileDialog() { //string localFilePath, fileNameExt, newFileName, FilePath; SaveFileDialog saveFileDialog1 = new SaveFileDialog(); //设置文件类型 saveFileDialog1.Filter = " excel files(*.xls)|*.xls"; //设置默认文件类型显示顺序 saveFileDialog1.FilterIndex = 2; //保存对话框是否记忆上次打开的目录 saveFileDialog1.RestoreDirectory = true; //点了保存按钮进入 if (saveFileDialog1.ShowDialog() == DialogResult.OK) { DataTable dt = (DataTable)this.dataGridView1.DataSource; TableToExcel(saveFileDialog1.FileName, dt, "haiyan"); } } static public void TableToExcel(string excel, DataTable tb, string tbname) { try { OleDbConnection connex = GetConnFromExcel(excel); //获取到excel文件的oledb连接 string ct = "CREATE TABLE " + tbname + " ("; //以下生成一个sql命令向excel中插入一个表 foreach (DataColumn clmn in tb.Columns) { switch (clmn.DataType.Name) //根据不同数据类型分别处理 { case "Decimal": ct += clmn.ColumnName + " Decimal,"; break; case "Double": ct += clmn.ColumnName + " Double,"; break; default: ct += clmn.ColumnName + " string,"; break; } } ct = ct.Substring(0, ct.Length - 1) + ")"; OleDbCommand cmd1 = new OleDbCommand(ct, connex); cmd1.ExecuteNonQuery(); //向excel中插入一个表 foreach (DataRow r in tb.Rows) //下面向excel中一行一行写入数据 { string fs = "", vs = ""; foreach (DataColumn clmn in tb.Columns) { fs += clmn.ColumnName + ","; if (r[clmn.ColumnName] == DBNull.Value) { vs += "null,"; continue; } switch (clmn.DataType.Name) //根据不同数据类型分别处理 { case "Decimal": vs += ((decimal)r[clmn.ColumnName]).ToString("0.00") + ","; break; case "Double": vs += ((double)r[clmn.ColumnName]).ToString("0.00") + ","; break; case "DateTime": vs += "'" + ((DateTime)r[clmn.ColumnName]).ToShortDateString() + "',"; break; default: vs += "'" + r[clmn.ColumnName].ToString() + "',"; break; } } string sqlstr = "insert into [" + tbname + "$] (" + fs.Substring(0, fs.Length - 1) + ") values (" + vs.Substring(0, vs.Length - 1) + ")"; OleDbCommand cmd = new OleDbCommand(sqlstr, connex); cmd.ExecuteNonQuery(); //向excel中插入数据 } connex.Close(); } catch (Exception e) { throw new Exception(e.Message); } } static public OleDbConnection GetConnFromExcel(string ExcelFileName) { try { OleDbConnection connEX = new OleDbConnection(); connEX.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExcelFileName + ";Extended Properties=Excel 8.0"; //connEX.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExcelFileName + ";Extended Properties=""Excel 8.0;IMEX=1;"""; connEX.Open(); return connEX; } catch (Exception ex) { MessageBox.Show(ex.Message); return null; } }![![图片说明](https://img-ask.csdn.net/upload/201505/21/1432197521_401467.png)图片说明](https://img-ask.csdn.net/upload/201505/21/1432197510_409063.png)
使用Python 将某个excel 中的一列 写入 另一个excel 中的某一列
嗨 朋友们: 我还在编写这个程序中...然而遇到了一些新的麻烦... 想要实现的功能: 将某个excel 中的一列 写入 另一个excel 中的一列. 当前我已经可以通过自定义的 get infor() 函数 提取某一excel 表中的数据 并存储在列表 (L=[ ] )中, ![图片说明](https://img-ask.csdn.net/upload/201909/01/1567349983_131463.png) 并通过open excel cost () 函数 将这些信息插入到目标excel之中了。 然而,我发现自己所使用的 插入excel 的方法只能针对 某个 特定的 单元格 (如我代码之中的 "D2" 单元格)。 我想对这个open excel cost () 函数 代码进行调整,使得它可以根据get infor() 函数中的列表返回结果 对目标excel中的某一列 批量赋值。 请问应该如何实现呢? 我的代码如下, 感谢大佬们的辛苦指正 ``` import openpyxl import xlrd def get_infor(): book = xlrd.open_workbook('C:/Users/lenovo/Desktop/模板.xlsx') sheet = book.sheet_by_name('WRT模板IN') L =[] for i in range (2,sheet.nrows): # i 从第四列开始 PN = str(sheet.cell(i,5).value) Cost_USD = str(sheet.cell(i, 9).value) L.append((PN,Cost_USD)) #t=tuple(L) return L #print(L) t1= get_infor() #print(t1) # # sh = t1[0][0] # print(sh) # def Open_excel_cost(): workbook = openpyxl.load_workbook('C:/Users/lenovo/Desktop/文档模板/IN/Cost_IN.xlsx') sheet = workbook.worksheets[0] # 第一个页签 sheet['D2'] = t1[0][1] #sheet['A1'] = t1[1][2] workbook.save('C:/Users/lenovo/Desktop/文档模板/IN/Cost_IN.xlsx') # 此步骤要保存才行的, 否则是不会在excel中显示的 2019.8.24 print(sheet['D2'].value) print(sheet.title) Open_excel_cost() ```
Python3中pandas批量汇总多个Excel文件,如何将中文日期命名的文件名变成数字日期并写入Excel第一行?
文件名:2019年11月1日.xlsx~2019年11月30日.xlsx,文件里面数据没有标识日期,汇总后数据混乱,我需要把文件名改为数字日期并放在Excel第一行。 每个Excel中有多个工作表,初学Python,请各位指点。 代码如下 ``` ``` import pandas as pd import os import re list2 = os.listdir(r'c:\python\2019年11月\\') list1 = [] for name in list2: if re.findall('^2019年11月\d+日.xlsx', name): list1.append(name) # print(list1) dflist = [] for i in range(len(list1)): dflist.append(pd.read_excel(list1[i], header=2)) # print(dflist) data = pd.concat(dflist) data.to_excel('./123.xlsx') # 数据保存路径
VBA读取Excel单元格数据,处理后再写入该表中的其他位置,怎么实现?
## # 用Excel的VBA能够从Excel中读取数据,也能够实现数据写入到单元格中,但是怎么实现在一个Function中实现先读取数据,再写到表的其他单元格呢?**__ Public Function test1() As String Dim strArray() As Variant Dim wk_data As Variant Set wk_data = Sheets("Sheet1") strArray = wk_data.Range("A47:B48").Value 出现错误!! wk_data.Range("G43").Resize(UBound(strArray, 1), UBound(strArray, 2)).Value = strArray test1 = "true" End Function
C# 以OleDB方式读取Excel07版本时出现奇葩异常,求高手解释!!!
我在以OleDB方式读取Excel(07版本)时,开发环境一切正常,测试环境却出现问题,只能读出一列数据,经过测试,发现是因为我在Excel中对一列数据同时设置了“分列”+“筛选”,结果就只读出了这一列数据,其他数据都不读取了,但是如果保存成97-03版本的Excel时,读取就正常了。 问题描述: 1、C# OleDB方式读取Excel 2、Excel版本2007以上 3、Excel中对同一列设置了“分列”+“筛选” 4、开发环境正常。测试环境只读设置了“分列”+“筛选”的这一列 5、Excel保存成97-2003版本时,测试环境读取正常 读取Excel代码: ``` //数据表 DataSet ds = new DataSet(); //获取文件扩展名 string strExtension = System.IO.Path.GetExtension(strExcelPath); string strFileName = System.IO.Path.GetFileName(strExcelPath); //Excel的连接 OleDbConnection objConn = null; //HDR=Yes,这代表第一行是标题,不做为数据使用 //IMEX 0:写入 1:读取 2:读取 写入 switch (strExtension) { case ".xls": objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strExcelPath + ";" + "Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1;\""); break; case ".xlsx": objConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelPath + ";" + "Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1;\""); break; default: objConn = null; break; } if (objConn == null) { return null; } objConn.Open(); //获取Excel中所有sheet表的信息 DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); //获取Excel的第一个Sheet表名 string tableName = schemaTable.Rows[0][2].ToString().Trim(); string strSql = "select * from [" + tableName + "]"; //获取Excel指定Sheet表中的信息 //OleDbCommand objCmd = new OleDbCommand(strSql, objConn); OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn); myData.Fill(ds, tableName); objConn.Close(); return ds; ``` ```
【python3.8字典问题请教】对Excel中数据提取,相同项对应值相加,写入新sheet表
![图片说明](https://img-ask.csdn.net/upload/201912/17/1576559364_374608.png) 我想提取Sheet表中的N、O和R列,对R列中相同姓名的人对应的N、O列的值分别相加,形成图2这样 ![图片说明](https://img-ask.csdn.net/upload/201912/17/1576559417_243731.png) ``` print('Opening workbook...') wb = openpyxl.load_workbook('C:/Users/mawenxin/Desktop/dome1/asd.xlsx') #打开Excel表格 sheet = wb.get_sheet_by_name('Sheet1') #获取工作表 nameData = { } #创建字典 print('Reading rows...') for row in range(2,sheet.max_row+1): #从第二行循环到最后一行 JE = sheet['N'+str(row)].value name = sheet['E'+ str(row)].value SY = sheet['O'+str(row)].value #存储每一列的数据 #字典结构nameData['姓名'][金额][使用金额] nameData={name,(JE,SY)} ``` 我按照网上以及书上的内容只能写这点,也不知道对不对 【问题】 **字典内能不能一个键对应两个值,或者对应一个元组或列表?** **用什么函数进行提取合并姓名?** **如果自定义函数要怎么写?** **能不能帮我写一下,琢磨很久了也不知道咋写**
在CSV文件中,怎样将第一个文件的数据写入第一列,将第二个文件的数据写入第二列?
![图片说明](https://img-ask.csdn.net/upload/201608/09/1470722627_895105.jpg) 如图所示,在excel文件中,我想把第一个txt的数据写入excel的第一列,把第二个txt的数据写入excel的第二列中?现在我只能把两个txt文件的数据全部放在一列中,如何修改才能达到目的呢?码代如下: ``` #include <iostream> #include <fstream> #include <vector> #include <windows.h> #include <string> using namespace std; char* WcharToChar(const wchar_t* wp) { char *m_char; int len= WideCharToMultiByte(CP_ACP,0,wp,wcslen(wp),NULL,0,NULL,NULL); m_char=new char[len+1]; WideCharToMultiByte(CP_ACP,0,wp,wcslen(wp),m_char,len,NULL,NULL); m_char[len]='\0'; return m_char; } wchar_t* CharToWchar(const char* c) { wchar_t *m_wchar; int len = MultiByteToWideChar(CP_ACP,0,c,strlen(c),NULL,0); m_wchar=new wchar_t[len+1]; MultiByteToWideChar(CP_ACP,0,c,strlen(c),m_wchar,len); m_wchar[len]='\0'; return m_wchar; } wchar_t* StringToWchar(const string& s) { const char* p=s.c_str(); return CharToWchar(p); } int main() { const string fileform = "*.txt"; const string perfileReadPath = "Data"; const int perclass_sample = 20; string fileReadPath; int nLine = 0; string buf; vector<float> descriptors; int j = 0; ofstream file("data_file.csv"); fileReadPath = perfileReadPath + "/" + fileform; HANDLE hFile; LPCTSTR lpFileName = StringToWchar(fileReadPath); WIN32_FIND_DATA pNextInfo; hFile = FindFirstFile(lpFileName, &pNextInfo); if(hFile == INVALID_HANDLE_VALUE) { exit(-1); } do { if(pNextInfo.cFileName[0] == '.') continue; j++; printf("%s\n",WcharToChar(pNextInfo.cFileName)); ifstream src_data(perfileReadPath + "/" + WcharToChar(pNextInfo.cFileName)); while( src_data ) { if( getline( src_data, buf ) ) { nLine++; descriptors.push_back( atof(buf.c_str()) ); } } src_data.close(); for(int i=0; i<descriptors.size();i++) { file<<descriptors[i]<<endl; } //格式化容器,清除容器内所有数据,为保存下一个txt文件数据文件做准备 descriptors.clear(); } while (FindNextFile(hFile,&pNextInfo) && j<perclass_sample); return 0; } ```
数据库表的插入问题,数据集的更新
需求:假设SQL数据库中有数据库mydb,mydb中有一个表tb_repo,字段为时间,事件名称, 事件描述,假设我想把同样字段的一张excel表插入到tb_repo中,如何实现? 我在C#中实现方法:读取excel表,并将它填充到数据集dataset1,然后再将tb_repo读取 到dataset2,然后用Merge()函数合并,合并成功了,但我不知道如何将新的数据集写入、 数据库更新tb_repo。 请问我的实现是否有问题?(我只要求整张表插入的方法,最好不是一条记录一条记录的插入)
C#+EXT 上传解析EXCEL文件
请问大家 如何用ext的上传控件 :UploadDialog 上传并解析Excel内容写入数据库? UploadDialog只能上传 难道要先上传到服务器 然后服务器再去解析么?不能用流的形式写到服务器直接解析么? 希望做过的兄弟给个例子 谢谢了 [b]问题补充:[/b] 就是说 文件上传后在服务器端解析 在操作 是吧 我开始的时候也是这么想的 只是确认一下 看看 大家还有什么其他的解决方案 [b]问题补充:[/b] 补充两个问题 请教一下高手 因为分不够 所以合并在一起了 不好意思 我的代码如下: [code="java"] function ShowUploadFileForm(FileType) { var FileFilte = []; if (FileType=='word'){ FileFilte = ['DOCX','docx','XLSX','xlsx','DOC','doc','XLS','xls','TXT','txt']; } else if (FileType=='picture'){ FileFilte = ['BMP','bmp','JPG','jpg','jpeg','JPEG','GIF','gif']; } var dialog = new Ext.ux.UploadDialog.Dialog({ autoCreate: true, closable: true, collapsible: false, draggable: true, minWidth: 400, minHeight: 200, width: 600, height: 350, permitted_extensions:FileFilte, proxyDrag: true, resizable: true, constraintoviewport: true, title: '文件上传', url: 'JSON/System/Attach.aspx?FunctionName=Sys_Attach_Add', reset_on_hide: false, allow_close_on_upload: true, file_size_limit : 5120 }); dialog.show(); } [/code] 问题1:如何设置 让dialog模态现实? 问题2:如何设置最大附件大小? 问题3:FileFilte = ['BMP','bmp','JPG','jpg','jpeg','JPEG','GIF','gif']; 这样设置 虽然bmp文件可以选择 但是上传的话 会报 “上传时发生了一个错误” 但是我看网上都是这么设置的啊。。。为什么? 谢谢了 [b]问题补充:[/b] 我用的是这个:Ext.ux.UploadDialog
使用Python 在excel指定单元格中写入指定单元格,但是在excel中不显示出来
各位大佬,咨询一个问题: 使用Python 提取数据库中数据 并录入excel 指定也签下的指定单元格。当前,操纵数据库,提取信息,等等步骤都没有问题,但是最后一步出问题了: 数据无法正常写入到excel中(excel中不显示) 如图: ![图片说明](https://img-ask.csdn.net/upload/201905/27/1558962156_379458.jpg) ![图片说明](https://img-ask.csdn.net/upload/201905/27/1558962181_372946.jpg) 以下是我的代码:求高手指点迷津,谢谢~ ``` import pymysql import tkinter import os import openpyxl from tkinter import * import time def newcreated(): ## 用来提取数据 conn = pymysql.connect(host='localhost',user='root',passwd='QAZwsx12345678',db='test',port=3306,charset='utf8') cur = conn.cursor() cur.execute("use test") cur.execute("SELECT SUM(sql_data.`总价`) FROM sql_data WHERE sql_data.`销售区域`= '东大区'") a = cur.fetchall() time.sleep(0.2) cur.execute("SELECT SUM(sql_data.`总价`) FROM sql_data WHERE sql_data.`销售区域`= '西大区'") b = cur.fetchall() time.sleep(0.2) cur.execute("SELECT SUM(sql_data.`总价`) FROM sql_data WHERE sql_data.`销售区域`= '南大区'") c = cur.fetchall() cur.execute("SELECT SUM(sql_data.`总价`) FROM sql_data WHERE sql_data.`销售区域`= '北大区'") d = cur.fetchall() #b = a.__str__() cur.close() conn.close return a,b,c,d ##返回b的值 t = tuple(newcreated()) #print(t) class control : def __init__(self, master): ##用来建造GUI 控制界面 fm1 = Frame(master) Button(fm1, text='生成数据',command = self.exc).pack(side=TOP, anchor=W, fill=X, expand=NO,padx = 10, pady = 10,ipadx=10,ipady = 4) fm1.pack(side=LEFT, fill=BOTH, expand=YES) def exc(self): ##用来提取表格,并对表格进行赋值的 wb = openpyxl.load_workbook('C:/Users/lenovo/Desktop/小小科技/show_6.15/6_15/show_6_15.xlsx') sheet = wb.get_sheet_by_name('页签1') sheet['C4'] = t [0][0][0] sheet['C5'] = t [1][0][0] sheet['C6'] = t [2][0][0] sheet['C7'] = t [3][0][0] print(sheet['C4'].value) print(sheet['C5'].value) print(sheet['C6'].value) print(sheet['C7'].value) wb.save('show_6_15.xlsx') root = Tk() root.title("Control") display = control(root) root.mainloop() ```
“System.IO.IOException”类型的异常在 NPOI.dll 中发生
问题描述: 采样NPOI方式操作excel,在定时器里发起委托来写Excel,运行一段时间后抛出异常。异常之前的数据正常写入excel中。不解,求助! ![图片说明](https://img-ask.csdn.net/upload/201908/16/1565951445_438304.png)
python能成功爬取天气 不知道怎么加循环
现在能爬去数据, 但需要手动一个一个换城市和时间, 希望能加个循环,一次性爬玩选定城市所有时间的天气。 网站来自 天气网->历史天气。 网站特点:http://lishi.tianqi.com/'+position+'/'+date+'.html 我不知道怎么加循环 代码现在如下: ``` from selenium import webdriver from bs4 import BeautifulSoup import time import csv import os from openpyxl import workbook # 写入Excel表所用 chrome_options = webdriver.ChromeOptions() prefs = {"profile.managed_default_content_setting.images": 2} chrome_options.add_experimental_option("prefs", prefs) driver = webdriver.Chrome(chrome_options=chrome_options) driver.set_page_load_timeout(60) driver.set_script_timeout(60) def getId(): position = 'wulumuqi' #这里填写地方的缩拼音例如:安泽 date = '201901' #这里填写日期例如:2011年的2月 query_url = 'http://lishi.tianqi.com/'+position+'/'+date+'.html' wb = os.path.join('C:\\Users\\w4376\\OneDrive\\Desktop\\weather collecting\\') #指定路径打开 wb = workbook.Workbook() # 创建Excel对象 ws = wb.active # 获取当前正在操作的表对象 ws.append(['日期', '最高气温', '最低气温', '天气', '风向', '风力']) try: driver.get('http://tianqi.com/') time.sleep(2) driver.get(query_url) js = "window.scrollTo(0, 1800000);" driver.execute_script(js) time.sleep(2) res = driver.page_source soup = BeautifulSoup(res, 'html.parser') box = soup.find('div',class_='tqtongji2').find_all('ul')[1:] for item in box: date_detail = item.find_all('li')[0].get_text() #日期 print(date_detail) max_temperature =item.find_all('li')[1].get_text() #最高气温 print(max_temperature) min_temperature = item.find_all('li')[2].get_text() # 最低气温 print(min_temperature) temperature = item.find_all('li')[3].get_text() # 天气 print(temperature) wind_direction = item.find_all('li')[4].get_text() #风向 print( wind_direction) wind_power = item.find_all('li')[5].get_text() # 风力 if wind_power == ('微风'): wf=('0级') wind_power=wf print(wf) else: print(wind_power) if wind_direction == ('无持续风向'): wd=('无') wind_direction=wd print(wd) ws.append([date_detail, max_temperature,min_temperature, temperature, wind_direction,wind_power]) # spamwriter = csv.writer(csvfile, dialect='excel') # spamwriter.writerow([date_detail, max_temperature,min_temperature, temperature, wind_direction,wind_power]) wb.save(position+date+'.xlsx') # 存入所有信息后,保存为filename.xlsx except Exception as e: print(e) getId() ```
jxl导出excel,如果不通过写死路径来弹出保存框,如何实现导出excel弹出保存框这个功能?
web开发中,我实现了通过模板来导出excel数据,是通过写一个模板,和一个目标文件来实现的,这两个文件是写在项目里面的,但是如果是多个人查询内容不同,然后同时导出这个文件的时候可能就出现导出的结果不是自己想要的!请问各位大虾门,怎么才能避免这种情况? 也可能是我的方法写的不对,希望指点一下!听说导出excel是根据模板虚拟出一个需要导出的excel表格,当保存后,这个表格就没了!我是不懂! 下面是我写的一个jxl导出excel: java代码: public class ExportExcel { public void Excel(RequestData req){ //String path =ExportExcel.class.getResource("").getPath(); String realpath = req.getString("path")+"/模板1.xls"; System.out.println(req.getString("path")); try{ Workbook wb = Workbook.getWorkbook(new File(realpath)); //通过模板得到一个可写的Workbook:第一个参数是一个输出流对象,第二个参数代表了要读取的模板 File targetFile = new File(req.getString("path")+"/worksheet1.xls"); WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb); //选择模板中名称为StateResult的Sheet: WritableSheet wws = wwb.getSheet(0); //如果需要也可以创建Sheet //WritableSheet wws = wwb.createSheet("Sheet名称",1); //选择单元格,写入动态值,根据单元格的不同类型转换成相应类型的单元格: /********************************public*****************************/ jxl.write.NumberFormat format = new jxl.write.NumberFormat("#"); jxl.write.WritableCellFormat wcf1 = new jxl.write.WritableCellFormat(format); wcf1.setBorder(Border.ALL, jxl.format.BorderLineStyle.THIN); //Border是jxl.format.Border wcf1.setAlignment(jxl.format.Alignment.CENTRE);//设置文本对其方式,水平方向 wcf1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); WritableFont fonte= new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.NO_BOLD); jxl.write.WritableCellFormat wcf2 = new jxl.write.WritableCellFormat(fonte); wcf2.setBorder(Border.ALL, jxl.format.BorderLineStyle.THIN); //Border是jxl.format.Border wcf2.setAlignment(jxl.format.Alignment.CENTRE);//设置文本对其方式,水平方向 wcf2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//设置文本对其方式,垂直方向 /********************************public*****************************/ //(列,行) JiaGeQS instance = new JiaGeQS(); DBSet rs = instance.query(req,1); int i=0; int sum=0; while(rs.next()){ jxl.write.Label label00 = new jxl.write.Label(0, 2+i, rs.getString("htbh"),wcf2); wws.addCell(label00); String str1=""; if(rs.getString("YSFS").equals("0")){ str1="铁路"; }else{ str1="公路"; } if(rs.getString("HTKD").equals("0")){ str1 +="年度"; }else if(rs.getString("HTKD").equals("1")){ str1 +="季度"; }else if(rs.getString("HTKD").equals("2")){ str1 +="月度"; } if(rs.getString("GLFL").equals("1")){ str1 +="出省"; }else if(rs.getString("GLFL").equals("0")){ str1 +="省内"; } jxl.write.Label label01 = new jxl.write.Label(1, 2+i, str1,wcf2); wws.addCell(label01); jxl.write.Label label02 = new jxl.write.Label(2, 2+i, rs.getString("cmr"),wcf2); wws.addCell(label02); jxl.write.Label label03 = new jxl.write.Label(3, 2+i, rs.getString("msr"),wcf2); wws.addCell(label03); jxl.write.Label label04 = new jxl.write.Label(4, 2+i, rs.getString("fz")+"-"+rs.getString("dz"),wcf2); wws.addCell(label04); jxl.write.Label label05 = new jxl.write.Label(5, 2+i, rs.getString("a1"),wcf2); wws.addCell(label05); jxl.write.Label label06 = new jxl.write.Label(6, 2+i, rs.getString("a2"),wcf2); wws.addCell(label06); //jxl.write.Label label07 = new jxl.write.Label(7, 2+i, rs.getString("a16"),wcf2); jxl.write.Number number01 = new jxl.write.Number(7,2+i,rs.getInt("a16"),wcf2); wws.addCell(number01); jxl.write.Label label08 = new jxl.write.Label(8, 2+i, rs.getString("a3"),wcf2); wws.addCell(label08); jxl.write.Label label09 = new jxl.write.Label(9, 2+i, rs.getString("qysj"),wcf2); wws.addCell(label09); wws.setRowView(2+i, 370) ; sum +=rs.getInt("a16"); i++; } jxl.write.Label labeli = new jxl.write.Label(0, 2+i, "数量合计:"+sum+" 吨",wcf2); wws.addCell(labeli); wws.mergeCells(0, 2+i,9, 2+i); /********************************数字格式*****************************/ //份数 // jxl.write.Number C4 = new jxl.write.Number(1,3,2222,wcf2); // wws.addCell(C4); // C4.setCellFormat(cellFormat); //保单总印量 // jxl.write.Number C5 = new jxl.write.Number(1,4,3333,wcf2); // wws.addCell(C5); // C5.setCellFormat(cellFormat); //.................以此类推 //wws.setColumnView(1, 50) ; //设置指定列的宽度 //设置指定行的高度 //wws.mergeCells(1, 1,3, 2) ; //合并单元格(开始列,开始行,结束列,结束行) /**********************************************************************************/ wwb.write(); wwb.close(); wb.close(); }catch(Exception e){ e.printStackTrace(); } } public static void main(String[] args) { try { //upload(); } catch(Exception e) { e.printStackTrace(); } } } jsp代码,是通过js打开写死的路径: function exportExcel(){ //window.location.href="<%=request.getContextPath()%>/proj/xls/worksheet1.xls"; }
无人能解。。phpexcel生成饼状图,在Windows下正常在Linux下乱码!
# 生成图片导出时,在Windows下整成显示,在Linux上导出的文件里只有乱码 # 但如果只生成表格,都可以正常显示,这个是代码: include "PHPExcel.php"; include "PHPExcel/Writer/Excel5.php"; //用于输出.xls的 //创建新的对象 $objPHPExcel = new PHPExcel(); $filename=$groname."_".$sclock_time."_".$eclock_time;//名字 系统名_开始时间_结束时间 //保存excel-2007格局 $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); // 非2007格局 $k=0; $objPHPExcel->setActiveSheetIndex($k);//设置当前的sheet第一个0 //设置标签 $sheet=$objPHPExcel->getActiveSheet(); $sheet->getDefaultRowDimension()->setRowHeight(30); $sheet->getDefaultColumnDimension()->setWidth(20); //合并单元格,写值 function stoa($str,$num){ $arr=explode(",", $str); $arrt=array(); $j=0; for($i=0;$i<count($arr);$i++){ if($i!=0&&$i%$num==0){$j++;} $arrt[$j][]=$arr[$i]; } return $arrt; } //合并单元格 $sheet->mergeCells('A1:D1'); $sheet->mergeCells('F1:G1'); $str="A1,系统报警详细,20,A2,主机名称,10,B2,报警描述,10,C2,报警等级,10,D2,报警时间,10,F1,报警频率最高的监控项,20,F2,报警信息描述,10,G2,对应报警次数,10"; $arr=array(); $arr=stoa($str,3); foreach ($arr as $v) { //写入内容 $sheet->setCellValue($v[0],$v[1]); //设置字体 $sheet->getStyle($v[0])->getFont()->setName('Candara'); $sheet->getStyle($v[0])->getFont()->setSize($v[2]); $sheet->getStyle($v[0])->getFont()->setBold(true); $sheet->getStyle($v[0])->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); } //系统报警详细 表1 $j=1; foreach ($arrnew as $value) { for($i=1;$i<count($value)+1;$i++){ if($i==1){ $sheet->setCellValue('A'.($j+2),$value[$i-1]); }elseif($i==2){ $sheet->setCellValue('B'.($j+2),$value[$i-1]); }elseif($i==3){ $sheet->setCellValue('C'.($j+2),$value[$i-1]); }elseif($i==4){ $sheet->setCellValue('D'.($j+2),$value[$i-1]); } } $j++; } //报警频率最高的监控项 (前5条)表2 $shownum=5;//显示5条 $k=3;//数据显示F3 G3 $tnum=$shownum+$k; $u=0; //真实个数 foreach($arrbjs as $v){ if(isset($v['name'])&&isset($v['num'])&&$k<$tnum){ $sheet->setCellValue("F".$k, $v['name']); $sheet->setCellValue("G".$k, $v['num']); $u++; $k++; } } $sheet->setCellValue("F".$k, '其他'); $sheet->setCellValue("G".$k, count($arrbjs)-$u); //tu $dataseriesLabels1 = array( new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$F$1', NULL, 1), // 标题 ); $xAxisTickValues1 = array( new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$F$3:$F$'.$k, NULL, $u), // 数据名 ); $dataSeriesValues1 = array( new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$G$3:$G$'.$k, NULL, $u), // 数据 ); // Build the dataseries $series1 = new PHPExcel_Chart_DataSeries( PHPExcel_Chart_DataSeries::TYPE_PIECHART, // plotType PHPExcel_Chart_DataSeries::GROUPING_STANDARD, // plotGrouping //饼图 range(0, count($dataSeriesValues1)-1), // plotOrder 范围 $dataseriesLabels1, // plotLabel 标题 $xAxisTickValues1, // plotCategory 数据名 $dataSeriesValues1 // plotValues 数据 ); // 布局 $layout1 = new PHPExcel_Chart_Layout(); $layout1->setShowVal(TRUE); $layout1->setShowPercent(TRUE); // 设置图表的区域 $plotarea1 = new PHPExcel_Chart_PlotArea($layout1, array($series1)); // 设置图表的图例 $legend1 = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); $title1 = new PHPExcel_Chart_Title('报警频率最高的监控项'); // 创建chart $chart3 = new PHPExcel_Chart( 'chart3', // name $title1, // title $legend1, // legend $plotarea1, // plotArea true, // plotVisibleOnly 0, // displayBlanksAs NULL, // xAxisLabel NULL // yAxisLabel - Pie charts don't have a Y-Axis ); // 图出现位置 $k+=2; $chart3->setTopLeftPosition('F'.$k); //左上角 $k+=18; $chart3->setBottomRightPosition('H'.$k);//右下角 // 准备输出 $sheet->addChart($chart3); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->setIncludeCharts(TRUE); // end tu// //输出信息 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename='.$filename); header('Cache-Control: max-age=0'); $objWriter->save("php://output");
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch
深深的码丨Java HashMap 透析
HashMap 相关概念 HashTab、HashMap、TreeMap 均以键值对像是存储或操作数据元素。HashTab继承自Dictionary,HashMap、TreeMap继承自AbstractMap,三者均实现Map接口 **HashTab:**同步哈希表,不支持null键或值,因为同步导致性能影响,很少被使用 **HashMap:**应用较多的非同步哈希表,支持null键或值,是键值对...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
JDK12 Collectors.teeing 你真的需要了解一下
前言 在 Java 12 里面有个非常好用但在官方 JEP 没有公布的功能,因为它只是 Collector 中的一个小改动,它的作用是 merge 两个 collector 的结果,这句话显得很抽象,老规矩,我们先来看个图(这真是一个不和谐的图????): 管道改造经常会用这个小东西,通常我们叫它「三通」,它的主要作用就是将 downstream1 和 downstre...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
相关热词 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片 c# 图片颜色调整 最快 c#多张图片上传 c#密封类与密封方法
立即提问