POI, Excel 셀 생성
Java2015. 6. 30. 14:53
POI, Excel 셀 생성
/** * 엑셀 셀을 생성한다. * 세로 맞춤 : 가운데 * @param row * @param nCell 생성할 셀 인덱스 * @param font 글꼴 * @param bgColor 배경색 * @param hAlign 가로 맞춤 * @param border 테두리 * @return */ private XSSFCell createCell(XSSFRow row, int nCell, Font font, XSSFColor bgColor, short hAlign, short border) { short vAlign = CellStyle.VERTICAL_CENTER; XSSFSheet sheet = row.getSheet(); XSSFWorkbook wb = sheet.getWorkbook(); XSSFCellStyle cs = wb.createCellStyle(); //정렬 설정 cs.setAlignment(hAlign); cs.setVerticalAlignment(vAlign); //테두리 설정 cs.setBorderTop(border); cs.setBorderRight(border); cs.setBorderBottom(border); cs.setBorderLeft(border); //글꼴 설정 cs.setFont(font); //배경색 설정 if (bgColor != null) { cs.setFillForegroundColor(bgColor); cs.setFillPattern(CellStyle.SOLID_FOREGROUND); } //Cell 생성 XSSFCell cell = row.createCell(nCell); cell.setCellStyle(cs); return cell; }
'Java' 카테고리의 다른 글
JDK 8 인스톨 없이 설치하기 (0) | 2018.10.20 |
---|---|
사진 이미지 크기 변경 후 Base64 문자열 변환 (0) | 2018.04.26 |
POI, Excel 숫자 셀 생성 (0) | 2015.06.30 |
POI, Excel 병합 셀 생성 (0) | 2015.06.30 |
POI, Excel 한 Cell에 여러 줄 표시 (0) | 2015.06.30 |
POI, Excel 숫자 셀 생성
Java2015. 6. 30. 14:50
POI, Excel 숫자 셀 생성
/** * 숫자 서식 셀을 생성한다. * 세로 맞춤 : 가운데 * 테두리 : 모두 * @param row * @param nCell 생성할 셀 인덱스 * @param font 글꼴 * @param bgColor 배경색 * @param hAlign 가로 맞춤 * @return */ private XSSFCell createNumericCell(XSSFRow row, int nCell, Font font, XSSFColor bgColor, short hAlign) { short vAlign = CellStyle.VERTICAL_CENTER; short border = CellStyle.BORDER_THIN; XSSFSheet sheet = row.getSheet(); XSSFWorkbook wb = sheet.getWorkbook(); XSSFCellStyle cs = wb.createCellStyle(); cs.setAlignment(hAlign); cs.setVerticalAlignment(vAlign); cs.setBorderTop(border); cs.setBorderRight(border); cs.setBorderBottom(border); cs.setBorderLeft(border); cs.setFont(font); //배경색 설정 if (bgColor != null) { cs.setFillForegroundColor(bgColor); cs.setFillPattern(CellStyle.SOLID_FOREGROUND); } XSSFDataFormat df = (XSSFDataFormat) wb.createDataFormat(); cs.setDataFormat(df.getFormat("#,###")); XSSFCell cell = row.createCell(nCell); cell.setCellStyle(cs); return cell; }
'Java' 카테고리의 다른 글
JDK 8 인스톨 없이 설치하기 (0) | 2018.10.20 |
---|---|
사진 이미지 크기 변경 후 Base64 문자열 변환 (0) | 2018.04.26 |
POI, Excel 셀 생성 (0) | 2015.06.30 |
POI, Excel 병합 셀 생성 (0) | 2015.06.30 |
POI, Excel 한 Cell에 여러 줄 표시 (0) | 2015.06.30 |
POI, Excel 병합 셀 생성
Java2015. 6. 30. 14:36
POI 이용, Excel 병합 셀 생성
/** * 병합 셀을 생성한다. * 세로 맞춤 : 가운데 * 테두리 : 모두 * @param row * @param nStart 시작 셀 인덱스 * @param nEnd 종료 셀 인덱스 * @param font 글꼴 * @param bgColor 배경색 * @param hAlign 가로 맞춤 * @param border 테두리 * @return */ private XSSFCell createMergedCell(XSSFRow row, int nStart, int nEnd, Font font, XSSFColor bgColor, short hAlign, short border) { short vAlign = CellStyle.VERTICAL_CENTER; XSSFCell returnCell = null; XSSFSheet sheet = row.getSheet(); XSSFWorkbook wb = sheet.getWorkbook(); XSSFCellStyle cs = wb.createCellStyle(); //정렬 cs.setAlignment(hAlign); cs.setVerticalAlignment(vAlign); //테두리 설정 cs.setBorderTop(border); cs.setBorderRight(border); cs.setBorderBottom(border); cs.setBorderLeft(border); //글꼴 설정 cs.setFont(font); //배경색 설정 if (bgColor != null) { cs.setFillForegroundColor(bgColor); cs.setFillPattern(CellStyle.SOLID_FOREGROUND); } //셀 생성 for (int i = nStart; i <= nEnd; i++) { XSSFCell cell = row.createCell(i); if (i == nStart) { returnCell = cell; } cell.setCellStyle(cs); } //병합 영역 설정 sheet.addMergedRegion(new CellRangeAddress(row.getRowNum(), row.getRowNum(), nStart, nEnd)); return returnCell; }
'Java' 카테고리의 다른 글
JDK 8 인스톨 없이 설치하기 (0) | 2018.10.20 |
---|---|
사진 이미지 크기 변경 후 Base64 문자열 변환 (0) | 2018.04.26 |
POI, Excel 셀 생성 (0) | 2015.06.30 |
POI, Excel 숫자 셀 생성 (0) | 2015.06.30 |
POI, Excel 한 Cell에 여러 줄 표시 (0) | 2015.06.30 |
POI, Excel 한 Cell에 여러 줄 표시
Java2015. 6. 30. 14:21
POI 사용 Excel Cell 생성 및 한 Cell에 여러 줄 표시
private void createCell(XSSFRow row, int nCell, Font font, XSSFColor bgColor, String cellValue) { short hAlign = CellStyle.ALIGN_LEFT; short vAlign = CellStyle.VERTICAL_CENTER; short border = CellStyle.BORDER_THIN; XSSFSheet sheet = row.getSheet(); XSSFWorkbook wb = sheet.getWorkbook(); int nCount = 0; String[] remark = cellValue.split("\\|"); //분리자 | String description = ""; //줄 높이 계산 for (int k = 0; k < remark.length; k++) { if (remark[k].length() > 0) { if (nCount == 0) description += remark[k]; else description += "\r\n"+ remark[k]; nCount++; } } //줄 높이 설정 if (nCount > 1) row.setHeightInPoints((nCount * sheet.getDefaultRowHeightInPoints())); //스타일 설정 XSSFCellStyle cs = wb.createCellStyle(); cs.setFont(font); //배경색 설정 cs.setFillForegroundColor(bgColor); //주의: 반드시 ForegroundColor를 사용(BackgroundColor가 아님) cs.setFillPattern(CellStyle.SOLID_FOREGROUND); //정렬 설정 cs.setAlignment(hAlign); cs.setVerticalAlignment(vAlign); //테두리 설정 cs.setBorderTop(border); cs.setBorderRight(border); cs.setBorderBottom(border); cs.setBorderLeft(border); //여러 줄 표시할 경우 꼭 true cs.setWrapText(true); //Cell 생성 XSSFCell cell = row.createCell(nCell); cell.setCellStyle(cs); cell.setCellValue(new XSSFRichTextString(description)); sheet.autoSizeColumn(nCell); //너비를 자동으로 다시 설정 }
'Java' 카테고리의 다른 글
JDK 8 인스톨 없이 설치하기 (0) | 2018.10.20 |
---|---|
사진 이미지 크기 변경 후 Base64 문자열 변환 (0) | 2018.04.26 |
POI, Excel 셀 생성 (0) | 2015.06.30 |
POI, Excel 숫자 셀 생성 (0) | 2015.06.30 |
POI, Excel 병합 셀 생성 (0) | 2015.06.30 |
다른 프로젝트의 Resources.resx 파일의 리소스에 접근하기
C#2012. 5. 7. 17:22
다른 프로젝트의 Resources.resx 파일의 리소스에 접근하기
try { //시작 프로젝트에 있는 리소스일 경우는 GetEntryAssembly() //var assembly = System.Reflection.Assembly.GetEntryAssembly(); var assembly = System.Reflection.Assembly.Load("MyAssemplyName"); var res = new System.Resources.ResourceManager("MyNameSpace.Properties.Resources", assembly); var image = Image.FromStream(res.GetStream("MyImageName")); //리소스 파일에 있는 특정 문자열을 가져오려면 var text = res.GetString("MyResourceName", System.Globalization.CultureInfo.CurrentCulture); } catch (Exception ex) { throw ex; }다른 프로젝트의 특정 폴더에 있는 이미지에 접근하려면
try { var assembly = System.Reflection.Assembly.Load("MyAssemplyName"); var image = Image.FromStream(assembly.GetManifestResourceStream("MyNameSpace.MyFolderName.MyImageFileName")); } catch (Exception ex) { throw ex; }전체 리소스 이름을 알고 싶다면 다음 메소드를 사용한다.
var list = System.Reflection.Assembly.Load("MyAssemplyName").GetManifestResourceNames(); foreach (var item in list) { ... }
'C#' 카테고리의 다른 글
사진 이미지 관련 클래스 (0) | 2016.04.14 |
---|---|
오라클 BLOB 등록 및 조회 (0) | 2016.04.14 |
윈도우에 등록된 확장자를 가진 파일 열기 (0) | 2011.11.16 |
날짜 문자열을 DateTime형으로 변환 (0) | 2011.10.27 |
ComboBox SelectedItem (0) | 2011.10.27 |
윈도우에 등록된 확장자를 가진 파일 열기
C#2011. 11. 16. 16:05
윈도우에 등록된 확장자를 가진 파일을 열고자 할 때 사용한다.
간단하게
간단하게
Process.Start(filePath);또는
private void OpenFile(string filePath) { try { System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(); info.RedirectStandardOutput = true; info.UseShellExecute = false; info.CreateNoWindow = true; info.FileName = "cmd"; info.Arguments = "/c \"" + filePath + "\""; //실행 후 cmd.exe를 종료한다. System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo = info; proc.Start(); //string result = proc.StandardOutput.ReadToEnd(); //MessageBox.Show(result); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
'C#' 카테고리의 다른 글
오라클 BLOB 등록 및 조회 (0) | 2016.04.14 |
---|---|
다른 프로젝트의 Resources.resx 파일의 리소스에 접근하기 (0) | 2012.05.07 |
날짜 문자열을 DateTime형으로 변환 (0) | 2011.10.27 |
ComboBox SelectedItem (0) | 2011.10.27 |
QRCode 이미지 제작(zxing 이용) (0) | 2011.08.18 |
[C1FlexGrid] 이미지로 버튼 흉내내기
기타2011. 11. 15. 13:14
ComponentOne의 FlexGrid에서 Cell에 이미지 버튼을 표현하는 방법
아래의 방법은 일종의 이미지 버튼을 흉내내는 방법이다.
//이벤트 핸들러 추가 grdMain.MouseMove += new MouseEventHandler(grdMain_MouseMove); grdMain.MouseDown += new MouseEventHandler(grdMain_MouseDown); //커서 변경 private void grdMain_MouseMove(object sender, MouseEventArgs e) { if (grdMain.MouseRow > 0) { if (grdMain.MouseCol == grdMain.Cols["ViewInfo"].Index) this.Cursor = Cursors.Hand; else this.Cursor = Cursors.Default; } } //마우스 클릭 private void grdMain_MouseDown(object sender, MouseEventArgs e) { if (grdMain.MouseRow > 0) { if (grdMain.MouseCol == grdMain.Cols["ViewInfo"].Index) { Row row = grdMain.Rows[grdMain.MouseRow]; string seqNo = row["SeqNo"].ToString(); ViewInfo(seqNo); } } } //그리드 바인딩 후 아래와 같은 방법으로 이미지를 표시한다. //전체 Row에 같은 이미지를 표시하고자 할 경우 아래와 같이 구현한다. private void LoadCellImage() { Hashtable ht = new Hashtable(); ht.Add("", 특정 이미지); Column LinkCol = grdMain.Cols["ViewInfo"]; LinkCol.ImageMap = ht; LinkCol.ImageAndText = false; LinkCol.ImageAlign = ImageAlignEnum.CenterCenter; } //해당 Row의 상태에 따라 다른 이미지를 표시하려면 아래의 메소드처럼 구현한다. private void LoadCellImage() { Hashtable ht = new Hashtable(); //그리드 제목이 있을 경우 grdMain.Rows.Fixed부터 처리 for (int i = grdMain.Rows.Fixed; i < grdMain.Rows.Count; i++) { Row row = grdMain.Rows[i]; if (row["Exist"].ToString() == "Y") { ht.Add(row["SeqNo"].ToString(), 특정 이미지1); } else { ht.Add(row["SeqNo"].ToString(), 특정 이미지2); } } Column LinkCol = grdMain.Cols["SeqNo"]; LinkCol.ImageMap = ht; LinkCol.ImageAndText = false; LinkCol.ImageAlign = ImageAlignEnum.CenterCenter; }
'기타' 카테고리의 다른 글
[마이플랫폼] Base64 문자열을 이미지 컴포넌트에 표시하기 (0) | 2018.04.26 |
---|---|
Web API CORS 관련 문제 해결(개발 시) (0) | 2017.12.22 |
[UbiReport] 그룹별 제목과 다단 보고서 (0) | 2016.05.11 |
Alfresco 웹스크립트를 이용한 사이트 생성 (0) | 2015.07.21 |
Alfresco Share Login 페이지에서 CSRF 필터 오류 해결법 2가지 (0) | 2015.07.21 |
날짜 문자열을 DateTime형으로 변환
C#2011. 10. 27. 13:23
아래처럼 DateTime.ParseExact를 이용한다. DateTime date = DateTime.ParseExact("20111027" , "yyyyMMdd" , new System.Globalization.CultureInfo("ko-KR")); 또는 DateTime date = DateTime.ParseExact("2011-10-27", "yyyy-MM-dd", null); null을 입력하여 현재 CultureInfo를 사용한다.
'C#' 카테고리의 다른 글
오라클 BLOB 등록 및 조회 (0) | 2016.04.14 |
---|---|
다른 프로젝트의 Resources.resx 파일의 리소스에 접근하기 (0) | 2012.05.07 |
윈도우에 등록된 확장자를 가진 파일 열기 (0) | 2011.11.16 |
ComboBox SelectedItem (0) | 2011.10.27 |
QRCode 이미지 제작(zxing 이용) (0) | 2011.08.18 |
ComboBox SelectedItem
C#2011. 10. 27. 11:08
DataTable로 바인딩 하여 콤보박스를 표시했을 경우
선택한 Row 전체를 가져오고자 할 때
var columnValue = ComboBox.SelectedRow["ColumnName"].ToString(); 또는 var selectedRow = ComboBox.SelectedItem as DataRowView; var columnValue = selectedRow["ColumnName"].ToString();
ValueMember나 DisplayMember로 지정하지 않은 컬럼의 값으로
콤보박스를 선택하고자 할 때
콤보박스를 선택하고자 할 때
public static DataRowView GetComboSelectedItem(ComboBox cbo , string columnName, string valueForSelect) { foreach (DataRowView row in cbo.Items) { if (row[columnName].ToString() == valueForSelect) { return row; } } return null; } DataTable dt = ...; cboCombo.DisplayMember = "Text"; cboCombo.ValueMember = "Code"; cboCombo.DataSource = dt; cboCombo.SelectedItem = GetComboSelectedItem(cboCombo, "OtherColumnName", "04");
콤보박스 Dictionary 로 바인딩
var list = new Dictionary<string, int>(); list.Add("1", 100); list.Add("2", 200) list.Add("3", 300); combobox.DisplayMember="Key"; combobox.ValueMember="Value"; combobox.DataSource = new BindingSource(list, null);
'C#' 카테고리의 다른 글
오라클 BLOB 등록 및 조회 (0) | 2016.04.14 |
---|---|
다른 프로젝트의 Resources.resx 파일의 리소스에 접근하기 (0) | 2012.05.07 |
윈도우에 등록된 확장자를 가진 파일 열기 (0) | 2011.11.16 |
날짜 문자열을 DateTime형으로 변환 (0) | 2011.10.27 |
QRCode 이미지 제작(zxing 이용) (0) | 2011.08.18 |
QRCode 이미지 제작(zxing 이용)
C#2011. 8. 18. 14:53
오픈 소스인 zxing(Zebra Crossing) 1.7을 이용한다.
(
http://code.google.com/p/zxing/
)
//인코딩 설정
//zxing의 인코딩 기본값이 ISO-8859-1이므로
//한글처리를 위해 인코딩 힌트를 UTF-8로 설정한다.
Hashtable htHint = new Hashtable();
if (cbUTF8.Checked)
{
htHint.Add(EncodeHintType.CHARACTER_SET, "UTF-8"); //zxing 기본값:ISO-8859-1
}
//오류복원레벨 설정
//따로 지정하지 않으면 기본값으로 L이 설정된다.
ErrorCorrectionLevel ecLevel = ErrorCorrectionLevel.L;
switch (cboEcLevel.SelectedIndex)
{
case 1: ecLevel = ErrorCorrectionLevel.M; break;
case 2: ecLevel = ErrorCorrectionLevel.Q; break;
case 3: ecLevel = ErrorCorrectionLevel.H; break;
}
htHint.Add(EncodeHintType.ERROR_CORRECTION, ecLevel); //기본값:L
try
{
//QRCode 이미지를 만든다.
QRCodeWriter writer = new QRCodeWriter();
ByteMatrix bm = writer.encode(txtData.Text, BarcodeFormat.QR_CODE
, tbSize.Value, tbSize.Value, htHint);
pbQRCode.Image = bm.ToBitmap(); //pictureBox 컨트롤에 표시
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
'C#' 카테고리의 다른 글
오라클 BLOB 등록 및 조회 (0) | 2016.04.14 |
---|---|
다른 프로젝트의 Resources.resx 파일의 리소스에 접근하기 (0) | 2012.05.07 |
윈도우에 등록된 확장자를 가진 파일 열기 (0) | 2011.11.16 |
날짜 문자열을 DateTime형으로 변환 (0) | 2011.10.27 |
ComboBox SelectedItem (0) | 2011.10.27 |