想要控制word文档,向word写入文字,图片,表格等并控制其格式,可以引入第三方库,#include "msword.h",网上的资料很多,在此不再赘述。下面封装好的代码,,很简单,可以直接调用:

// WordHandle.h: interface for the WordHandle class.
//
//#if !defined(AFX_WORDHANDLE_H__7F5096E5_F09B_4DA1_9FC2_28FA2D2C1573__INCLUDED_)
#define AFX_WORDHANDLE_H__7F5096E5_F09B_4DA1_9FC2_28FA2D2C1573__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000//段落对齐方式
enum wdAlignParagraphAlignment {wdAlignParagraphLeft = 0, //左对齐wdAlignParagraphCenter = 1, //居中wdAlignParagraphRight = 2, //右对齐wdAlignParagraphJustify = 3 //两端对齐
}; //单元格垂直对齐方式
enum WdCellVerticalAlignment{wdCellAlignVerticalTop = 0, //文字与单元格上框线对齐wdCellAlignVerticalCenter = 1, //文字与单元格中心对齐wdCellAlignVerticalBottom = 3 //文字与单元格底边框线对齐
};#include "msword.h"
#include  <atlbase.h>
#include "comdef.h"
#include <afxdisp.h> //COlVirant class WordHandle
{
private:_Application wordapp;COleVariant vTrue, vFalse, vOptional;Documents worddocs;CComVariant tpl, Visble, DocType, NewTemplate;Selection wordsel;_Document worddoc;Tables wordtables;Table wordtable;_ParagraphFormat paragraphformat;Cell cell;Cells cells;_Font wordFt;Range range;CComVariant SaveChanges,OriginalFormat,RouteDocument;CComVariant ComVariantTrue,ComVariantFalse;InlineShapes ishaps;InlineShape ishap;public:void AddPicture(LPCTSTR picname);void AddTime(CTime time);void CreateChart();BOOL MergeCell(int  cell1row,int cell1col,int  cell2row,int cell2col);void CloseWordSave(LPCTSTR wordname);  void CloseWord();void SetTableFormat(int nRow, int nColumn, long horizontalAlignment, long verticalAlignment);void SetTableFormat(int beginRow, int beginColumn, int endRow, int endColumn, long horizontalAlignment = wdAlignParagraphCenter, long verticalAlignment = wdCellAlignVerticalCenter);void SetTablePadding(float topPadding = 4.0, float bottomPadding = 4.0, float leftPadding = 4.0, float rightPadding = 4.0);void SetTableFont(int nRow, int nColumn, BOOL bBold, BOOL bItalic = FALSE, BOOL bUnderLine = FALSE);void SetTableFont(int nRow, int nColumn, LPCTSTR szFontName = "宋体", float fSize=9, long lFontColor=0, long lBackColor = 0);void SetTableFont(int beginRow, int beginColumn, int endRow, int endColumn, LPCTSTR szFontName = "宋体", float fSize=9, long lFontColor=0, long lBackColor = 0);void SetFont(BOOL bBold, BOOL bItalic = FALSE, BOOL bUnderLine = FALSE );void SetFont(LPCTSTR szFontName ,float fSize = 9, long lFontColor = 0, long lBackColor=0);void AddParagraph();void WriteText(LPCTSTR szText);BOOL CreateWord();void ShowWord(BOOL show);void WriteCell(int nRow, int nColumne, LPCTSTR szText);void WriteCell(int nRow, int nColumne, LPCTSTR lpszFormat, float num);BOOL CreateTable(int nRow, int nColumn);void SetParagraphFormat(int nAlignment);BOOL CreateDocumtent();BOOL CreateApp();WordHandle();virtual ~WordHandle();};#endif // !defined(AFX_WORDHANDLE_H__7F5096E5_F09B_4DA1_9FC2_28FA2D2C1573__INCLUDED_)

下面是实现文件:

// WordHandle.cpp: implementation of the WordHandle class.
//
//#include "stdafx.h"
#include "WordHandle.h"#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif//
// Construction/Destruction
//WordHandle::WordHandle(){OleInitialize(NULL);    //CoInitialize(NULL);ComVariantTrue=CComVariant(true);ComVariantFalse=CComVariant(false);vTrue=COleVariant((short)TRUE);vFalse=COleVariant ((short)FALSE);tpl=CComVariant(_T(""));DocType=CComVariant(0);NewTemplate=CComVariant(false);vOptional=COleVariant((long)DISP_E_PARAMNOTFOUND,VT_ERROR);}WordHandle::~WordHandle(){wordtable.ReleaseDispatch();wordtables.ReleaseDispatch();wordsel.ReleaseDispatch();worddocs.ReleaseDispatch();worddoc.ReleaseDispatch();paragraphformat.ReleaseDispatch();wordapp.ReleaseDispatch();wordFt.ReleaseDispatch();cell.ReleaseDispatch();range.ReleaseDispatch();ishaps.ReleaseDispatch();ishap.ReleaseDispatch();CoUninitialize();
}BOOL WordHandle::CreateApp(){if (FALSE == wordapp.CreateDispatch("Word.Application"))  {MessageBox(NULL,"Application创建失败!","", MB_OK|MB_ICONWARNING);return FALSE;}//    m_wdApp.SetVisible(TRUE);return TRUE;}BOOL WordHandle::CreateDocumtent(){if (!wordapp.m_lpDispatch){MessageBox(NULL,"Application为空,Documents创建失败!", "错误提示",MB_OK|MB_ICONWARNING);return FALSE;}worddocs.AttachDispatch(wordapp.GetDocuments());if (!worddocs.m_lpDispatch){MessageBox(NULL,"Documents创建失败!", "错误提示",MB_OK|MB_ICONWARNING);return FALSE;}CComVariant Template(_T(""));    CComVariant NewTemplate(false),DocumentType(0),Visible;worddocs.Add(&Template,&NewTemplate,&DocumentType,&Visible);    worddocs = wordapp.GetActiveDocument();if (!worddocs.m_lpDispatch){MessageBox(NULL,"Document获取失败!", "",MB_OK|MB_ICONWARNING);return FALSE;}wordsel = wordapp.GetSelection();if (!wordsel.m_lpDispatch){MessageBox(NULL,"Select获取失败!", "",MB_OK|MB_ICONWARNING);return FALSE;}    return TRUE;}void WordHandle::SetParagraphFormat(int nAlignment)
{if (!wordsel.m_lpDispatch){return ;}paragraphformat = wordsel.GetParagraphFormat();paragraphformat.SetAlignment(nAlignment);wordsel.SetParagraphFormat(paragraphformat);
}BOOL WordHandle::CreateTable(int nRow, int nColumn){if (!wordapp.m_lpDispatch){return FALSE;}worddoc = wordapp.GetActiveDocument();wordtables = worddoc.GetTables();VARIANT vtDefault, vtAuto;vtDefault.vt = VT_I4;vtAuto.vt = VT_I4;vtDefault.intVal = 1;vtAuto.intVal = 0;wordtables.Add(wordsel.GetRange(), nRow, nColumn, &vtDefault, &vtAuto);    wordtable = wordtables.Item(wordtables.GetCount());VARIANT vtstyle;vtstyle.vt = VT_BSTR;_bstr_t bstr = "网格型";vtstyle.bstrVal = bstr;if (wordtable.GetStyle().bstrVal == vtstyle.bstrVal){wordtable.SetStyle(&vtstyle);wordtable.SetApplyStyleFirstColumn(TRUE);wordtable.SetApplyStyleHeadingRows(TRUE);wordtable.SetApplyStyleLastColumn(TRUE);wordtable.SetApplyStyleLastRow(TRUE);        }return TRUE;
}void WordHandle::WriteCell(int nRow, int nColumne, LPCTSTR szText){if (wordtable!=NULL){cell = wordtable.Cell(nRow,nColumne);cell.Select();wordsel.TypeText(szText);     }
}//将数字num以lpszFormat的形式写入(nRow,nColumne)中
void WordHandle::WriteCell(int nRow, int nColumne, LPCTSTR lpszFormat, float num){ if(wordtable != NULL){cell = wordtable.Cell(nRow, nColumne);cell.Select();CString str;str.Format(lpszFormat, num);wordsel.TypeText(str);}
}void WordHandle::ShowWord(BOOL show){if (!wordapp.m_lpDispatch){return ;}wordapp.SetVisible(show);
}BOOL WordHandle::CreateWord(){if (FALSE == CreateApp()){return FALSE;}return CreateDocumtent();
}//输出文字
void WordHandle::WriteText(LPCTSTR szText){if (!wordsel.m_lpDispatch){return ;}wordsel.TypeText(szText);wordtable=NULL;
}//添加新段落
void WordHandle::AddParagraph(){if (!wordsel.m_lpDispatch){return ;}wordsel.EndKey(COleVariant((short)6),COleVariant(short(0)));  //定位到全文末尾wordsel.TypeParagraph();//新的段落,也就是回车换行wordtable=NULL;
}//设置字体样式、字体大小、字体颜色、背景色
void WordHandle::SetFont(LPCTSTR szFontName, float fSize, long lFontColor, long lBackColor){if (!wordsel.m_lpDispatch)  {MessageBox(NULL,"Select为空,字体设置失败!","错误提示", MB_OK|MB_ICONWARNING);return;}wordsel.SetText("F");wordFt = wordsel.GetFont();wordFt.SetSize(fSize);wordFt.SetName(szFontName);wordFt.SetColor(lFontColor);wordsel.SetFont(wordFt);range = wordsel.GetRange();range.SetHighlightColorIndex(lBackColor);
}//设置粗体、斜体、下划线
void WordHandle::SetFont(BOOL bBold, BOOL bItalic, BOOL bUnderLine){if (!wordsel.m_lpDispatch){MessageBox(NULL,"Select为空,字体设置失败!", "错误提示",MB_OK|MB_ICONWARNING);return;}wordsel.SetText("F");wordFt = wordsel.GetFont();wordFt.SetBold(bBold);wordFt.SetItalic(bItalic);wordFt.SetUnderline(bUnderLine);wordsel.SetFont(wordFt);
}//设置单元格(nRow, nColumn)字体样式、字体大小、字体颜色、背景色
void WordHandle::SetTableFont(int nRow, int nColumn, LPCTSTR szFontName, float fSize, long lFontColor, long lBackColor){cell = wordtable.Cell(nRow, nColumn);cell.Select();wordFt = wordsel.GetFont();wordFt.SetName(szFontName);wordFt.SetSize(fSize);wordFt.SetColor(lFontColor);wordsel.SetFont(wordFt);range = wordsel.GetRange();range.SetHighlightColorIndex(lBackColor);
}//设置从(beginRow, beginColumn)到(endRow, endColumn)所围区域单元格的字体样式、字体大小、字体颜色、背景色
void WordHandle::SetTableFont(int beginRow, int beginColumn, int endRow, int endColumn, LPCTSTR szFontName, float fSize, long lFontColor, long lBackColor){wordtable.SetBottomPadding(10.0);int nRow, nColumn;for(nRow = beginRow; nRow <= endRow; nRow++){for(nColumn = beginColumn; nColumn <= endColumn; nColumn++){SetTableFont(nRow, nColumn, szFontName, fSize, lFontColor, lBackColor);}}
}//设置单元格(nRow, nColumn)粗体、斜体、下划线
void WordHandle::SetTableFont(int nRow, int nColumn, BOOL bBold, BOOL bItalic, BOOL bUnderLine){cell = wordtable.Cell(nRow, nColumn);cell.Select();wordFt = wordsel.GetFont();wordFt.SetBold(bBold);wordFt.SetItalic(bItalic);wordFt.SetUnderline(bUnderLine);wordsel.SetFont(wordFt);
}//设置表格单元格(nRow, nColumn)的水平、垂直对齐方式
void WordHandle::SetTableFormat(int nRow, int nColumn, long horizontalAlignment, long verticalAlignment){cell = wordtable.Cell(nRow, nColumn);cell.Select();cell.SetVerticalAlignment(verticalAlignment);paragraphformat = wordsel.GetParagraphFormat();paragraphformat.SetAlignment(horizontalAlignment);wordsel.SetParagraphFormat(paragraphformat);
}//设置表格从(beginRow, beginColumn)到(endRow, endRow)区域内水平、垂直对齐方式
void WordHandle::SetTableFormat(int beginRow, int beginColumn, int endRow, int endColumn, long horizontalAlignment, long verticalAlignment){int nRow, nColumn;for( nRow = beginRow; nRow <= endRow; nRow++){for( nColumn = beginColumn; nColumn <= endColumn; nColumn++){SetTableFormat(nRow, nColumn, horizontalAlignment, verticalAlignment);}}
}//设置表格单元格的上下左右内边距填充
void WordHandle::SetTablePadding(float topPadding, float bottomPadding, float leftPadding, float rightPadding){wordtable.SetTopPadding(topPadding);wordtable.SetBottomPadding(bottomPadding);wordtable.SetLeftPadding(leftPadding);wordtable.SetRightPadding(rightPadding);
}//合并单元格
BOOL WordHandle::MergeCell(int  cell1row, int cell1col, int cell2row, int cell2col){Cell cell1=wordtable.Cell(cell1row,cell1col);Cell cell2=wordtable.Cell(cell2row,cell2col);cell1.Merge(cell2);return TRUE;
}//创建图表
void WordHandle::CreateChart(){ishaps= wordsel.GetInlineShapes();CComVariant classt;classt=CComVariant("MSGraph.Chart.8");ishap=ishaps.AddOLEObject(&classt,vOptional,vFalse,vFalse,vOptional,vOptional,vOptional,vOptional);AddParagraph();
}//添加图片
void WordHandle::AddPicture(LPCTSTR picname){ishaps=   wordsel.GetInlineShapes();  ishap=ishaps.AddPicture(picname,vFalse,vTrue,vOptional);   AddParagraph();
}void WordHandle::AddTime(CTime time){
}void WordHandle::CloseWord(){if (!wordapp.m_lpDispatch){return ;}SaveChanges=ComVariantFalse;wordapp.Quit(&SaveChanges,&OriginalFormat,&RouteDocument);
}void WordHandle::CloseWordSave(LPCTSTR wordname){if (!wordapp.m_lpDispatch){return ;}if (!worddoc.m_lpDispatch){return ;}worddoc.SaveAs(&CComVariant(wordname), &CComVariant((short)0),vFalse, &CComVariant(""), vTrue, &CComVariant(""),vFalse, vFalse, vFalse, vFalse, vFalse,vFalse, vFalse, vFalse, vFalse, vFalse);SaveChanges=ComVariantTrue;wordapp.Quit(&SaveChanges,&OriginalFormat,&RouteDocument);
}

如下是调用函数,比较简单哦!

void CAutotestView::OnBtn1Click()
{   WordHandle wordHandle;wordHandle.CreateWord();// 获取应用当前Debug路径char fileName[MAX_PATH];GetModuleFileName(NULL, fileName, MAX_PATH);char dir[260];char dirver[100];_splitpath(fileName, dirver, dir, NULL, NULL);CString strAppPath = dirver;strAppPath += dir;wordHandle.AddPicture(strAppPath+"\\logo.bmp");  //必须保证debug目录下有一张logo图片wordHandle.AddParagraph();wordHandle.SetParagraphFormat(wdAlignParagraphCenter);wordHandle.SetFont(_T("黑体"), 18);wordHandle.WriteText(_T("XXXXXXXXXX测试报告"));wordHandle.AddParagraph();wordHandle.AddParagraph();wordHandle.SetFont(_T("宋体"), 10);wordHandle.SetParagraphFormat(wdAlignParagraphRight);wordHandle.WriteText(_T("生成时间:"));wordHandle.WriteText(CTime::GetCurrentTime().Format(_T("%Y-%m-%d %H:%M:%S")));//连接access数据库TestInfoSetCString strSQL;CAutotestApp*  ptheApp = (CAutotestApp *) AfxGetApp();strSQL.Format("select * from TestInfo where TestID = %d order by TestID",ptheApp->m_testID);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)){MessageBox("打开数据库失败!","数据库错误",MB_OK);return ;}//创建表格wordHandle.CreateTable(9, 4);wordHandle.SetTableFont(1, 1, 9, 4, _T("宋体"), 12);wordHandle.SetTableFormat(1, 1, 9, 4, wdAlignParagraphCenter, wdCellAlignVerticalCenter);wordHandle.SetTablePadding();wordHandle.WriteCell(1, 1, _T("XX型号"));wordHandle.WriteCell(1, 2, m_recordset.m_CableGG);wordHandle.WriteCell(1, 3, _T("XX类型"));wordHandle.WriteCell(1, 4, m_recordset.m_AATT);wordHandle.WriteCell(2, 1, _T("测试长度"));wordHandle.WriteCell(2, 2, _T("????"));  m_testlenwordHandle.WriteCell(2, 3, _T("XX增益"));wordHandle.WriteCell(2, 4, m_recordset.m_AG);wordHandle.WriteCell(3, 1, _T("纵向损耗"));wordHandle.WriteCell(3, 2, _T("????"));wordHandle.WriteCell(3, 3, _T("XX方向"));wordHandle.WriteCell(3, 4, m_recordset.m_AO);wordHandle.WriteCell(4, 1, _T("采样数量"));wordHandle.WriteCell(4, 2, "%d", m_recordset.m_CableCD/m_recordset.m_step);wordHandle.WriteCell(4, 3, _T("XX高度"));wordHandle.WriteCell(4, 4, m_recordset.m_AH);wordHandle.WriteCell(5, 1, _T("测试频率"));wordHandle.WriteCell(5, 2, "%d", m_recordset.m_frequency);wordHandle.WriteCell(5, 3, _T("XX距离"));wordHandle.WriteCell(5, 4, m_recordset.m_AD);wordHandle.WriteCell(6, 1, _T("测试日期"));wordHandle.WriteCell(6, 2, m_recordset.m_TestDate.Format("%Y-%m-%d %H:%M:%S"));wordHandle.WriteCell(6, 3, _T("测试人员"));wordHandle.WriteCell(6, 4, m_recordset.m_Tester);wordHandle.WriteCell(7, 1, _T("测试仪器"));wordHandle.WriteCell(7, 2, _T("????"));wordHandle.WriteCell(7, 3, _T("测试温度"));wordHandle.WriteCell(7, 4, "%2.1f", m_recordset.m_temperature);wordHandle.WriteCell(8, 1, _T("耦合损耗"));wordHandle.WriteCell(8, 2, _T("????"));wordHandle.WriteCell(8, 3, _T("XXX值"));wordHandle.WriteCell(8, 4, _T("????"));wordHandle.WriteCell(9, 1, _T("XXX值"));wordHandle.WriteCell(9, 2, _T("????"));wordHandle.WriteCell(9, 3, _T("XXX值"));wordHandle.WriteCell(9, 4, _T("????"));m_recordset.Close();//屏幕截图保存CString bigChart = _T("\\big.bmp");CString smallChart = _T("\\small.bmp");m_static.Save(strAppPath+bigChart);m_astatic.save(strAppPath+smallChart);wordHandle.AddParagraph();wordHandle.SetParagraphFormat(wdAlignParagraphCenter);wordHandle.AddPicture(strAppPath+bigChart);wordHandle.AddPicture(strAppPath+smallChart);wordHandle.ShowWord(TRUE); //设置可见
}

现在贴上一个比较低级的一个demo,VS2010创建,DAO连接ACCESS数据库,生成word文档:http://download.csdn.net/detail/cai843383655/9402675

下面简要说一下如何通过MSWORD.OLB生成可操作word文档的接口文件,即上述的msword.hmsword.cpp

1. vs2010创建一个项目,打开类向导

2. 右上角添加类,下拉框选择类型库中的MFC类

3. 文件来源添加类,选择文件位置:C:\Program Files (x86)\Microsoft Office\Office14

4.生成类,可以根据自己需要只选择其中几项

注:

用VS2010生成的类不在一个文件中,用vc++6.0可把所有类集中在同一个文件中(头文件与目标文件)。上述的msword.h与msword.cpp是在VC++6.0中导入生成的,其它版本没有测试过。

另外,用上述同样方法可以操作excel文件,只不过导入的excel.exe。其它office文件类似,下面是别人的一些总结,搬运过来。

Office 版本和类型

类型库文件

Office 版本和类型

类型库文件

Access 97 Msacc8.olb PowerPoint 2000 Msppt9.olb
Jet Database 3.5 DAO350.dll Word 2000 Msword9.olb
Binder 97 Msbdr8.olb Access 2002 Msacc.olb
Excel 97 Excel8.olb Excel 2002 Excel.exe
Graph 97 Graph8.olb Graph 2002 Graph.exe
Office 97 Mso97.dll Office 2002 MSO.dll
Outlook 97 Msoutl97.olb Outlook 2002 MSOutl.olb
PowerPoint 97 Msppt8.olb PowerPoint 2002 MSPpt.olb
Word 97 Msword8.olb Word 2002 MSWord.olb
Access 2000 Msacc9.olb Office Access 2003 Msacc.olb
Jet Database 3.51 DAO360.dll Office Excel 2003 Excel.exe
Binder 2000 Msbdr9.olb Graph 2003 Graph.exe
Excel 2000 Excel9.olb Office 2003 MSO.dll
Graph 2000 Graph9.olb Office Outlook 2003 MSOutl.olb
Office 2000 Mso9.dll Office PowerPoint 2003 MSPpt.olb
Outlook 2000 Msoutl9.olb Office Word 2003 MSWord.olb

附地址:http://blog.csdn.net/wowolook/article/details/8509664

C++操作word:插入文字、图片、表格,设置样式字体相关推荐

  1. c#调用Aspose.Word组件操作word 插入文字/图片/表格 书签替换套打

    由于NPOI暂时没找到书签内容替换功能,所以换用Apose.Word组件. using System; using System.Collections.Generic; using System.C ...

  2. python win32com操作word插入指定表格图片

    python win32com操作word插入指定表格图片 在网上找了许久,最终自己摸索找到办法,直接上代码, import win32com.client as win32 from win32co ...

  3. 解决 Java poi 3.8 等版本 操作 word 插入 图片 不成功的问题

    解决 Java poi 3.8等版本操作word插入图片不成功的问题 问题: 最近有一个需求是将Excel中的数据转换到word中,其中包括了文字和图片, 在使用 poi 3.8 向word中写入图片 ...

  4. 计算机中文字转换为表格怎么弄,Word中“文字”与“表格”相互转换-word技巧-电脑技巧收藏家...

    Word中"文字"与"表格"相互转换 在Word 2000及Word 2002中,如果要把"文字"与"表格"互相方便地转 ...

  5. POI Word 模板 文字 图片 替换

    POI Word 模板 文字 图片 替换 博客分类: java poi POIjavaWOrd  实验环境:POI3.7+Word2007 Word模板: 替换后效果: 代码: 1.入口文件 Java ...

  6. html 表格自动编号,Word中如何给表格设置自动编号

    我们在使用Word中可能需要给表格设置自动编号,让工作效率变得更快捷一些,那么如何给表格设置自动编号呢,接下来由学习啦小编为大家推荐Word使用技巧,希望对你有所帮助! 关于Word: Word软件提 ...

  7. ***大论文中插入Visio不失真方法:word插入viso图片方法

    ***大论文中插入Visio不失真方法:word插入viso图片方法 1.可以直接导出emf 2.如果利用emf导致字符间距过大,可以选择下面方式 1.可以直接导出emf 导出emf方法: 打开vis ...

  8. Aspose.Words操作Word.PDF,让图片和文本垂直居中,水平居中解决方案

    Aspose.Words操作Word.PDF,让图片和文本垂直居中,水平居中解决方案 参考文章: (1)Aspose.Words操作Word.PDF,让图片和文本垂直居中,水平居中解决方案 (2)ht ...

  9. 解决word插入的图片不能正常显示

    解决word插入的图片不能正常显示 问题显示 解决方法 结果 问题显示 问题如下图:图片不能正常显示 解决方法 解决:在本段右键-段落-行距-单倍行距-确定,即可 因为行距设为固定值了,所以不能正常显 ...

  10. AngularJS之表格设置样式

    1.问题背景 AngularJS表格table,利用样式设置表格间隔色 2.实现源码 <!DOCTYPE html> <html><head><meta ch ...

最新文章

  1. 个人品牌的思考--《赢在中国》(2008-04-01)
  2. 七、Linux串口编程
  3. AD,proteus操作
  4. spring事务管理一:关于事务管理的接口
  5. Spring+Quartz实现定时执行任务的配置
  6. Python学习练习:批量移动文件
  7. php适配模式实例,php适配器模式简单应用示例
  8. C语言 输出重复序列的序号,如何在FASTA序列中找到反向重复模式?
  9. 解决debug JDK source无法查看局部变量的问题
  10. rocketmq原理_消息中间件漫谈:RocketMQ延时消息应用及原理剖析
  11. [LeetCode] 83. Remove Duplicates from Sorted List
  12. Python爬取图片时,urllib提示没有属性urlretrieve的问题
  13. 【Python办公自动化】根据excel中数据批量生成word文档(适用劳动合同、质检报告、通知书等应用场景)
  14. 04 - SSH攻击Linux服务器(简单)
  15. 如何入门Python之Python基础教程详解
  16. avr 74hc595驱动数码管动态显示c语言例程,一种电梯钢丝绳张力计控制系统软件的设计...
  17. SSL证书中的128位加密和256位加密有何区别?
  18. linux内核源码分析之slab(四)
  19. R-squared居然是负数
  20. Partial RenderPartial Action RenderAction 区别和用法

热门文章

  1. web项目开发 之 前端规范 --- JSON数据传输规范
  2. 微信小号全面开放!详细注册流程
  3. python的递归为什么难理解_为什么Python有最大的递归深度?
  4. 【C语言】C语言数据类型
  5. java jsonfield_FastJson 使用@JSONField注解和@JSONCreator指定构造方法
  6. ant-modal的弹窗拉伸
  7. 手机网络应用客户端软件开发实践简介(摘自www.j2medev.com)
  8. 乐迪AT9S开机无反应、拆解过程
  9. Android MVP(三)内存泄漏分析与动态代理
  10. keil怎么将c语言烧写软件下载,Keil-MDK编译完成后自动烧写下载