Thứ Ba, 20 tháng 12, 2016

Mô hình thêm mới 01 cell trong dinte openxml

1. Khi tạo một workbook, đã mặc định thêm mới 1 thành phần style vào stylesheet bằng hàm
WorkbookStylesPart stylesPart = _workbookPart.AddNewPart<WorkbookStylesPart>(); stylesPart.Stylesheet = CStyle.GenerateStyleSheet();
 stylesPart.Stylesheet.Save();

2. Khi khởi tạo một style, đã khởi tạo các thành phần cơ bản
cStyle = new CStyle();
Trong CStyle.cs
public CStyle()
        {
            numberFormatCode = null;
            fontSize = 11;
            fontName = "TimeNewRoman";
            fontColor = "000";
            fontBold = false;
            fontItalic = false;
            fillPattern = PatternValues.None;
            fillForeGroundColor = null;
            borderLeftColor = null;
            borderLeftStyleValue = BorderStyleValues.None;
            borderBottomColor = null;
            borderBottomStyleValue = BorderStyleValues.None;
            borderRightColor = null;
            borderRightStyleValue = BorderStyleValues.None;
            borderTopColor = null;
            borderTopStyleValue = BorderStyleValues.None;
            alignmentHorizontal = HorizontalAlignmentValues.Left;
            alignmentVertical = VerticalAlignmentValues.Center;
            wrapText = true;
            textRotate = (uint)0;
        }
3. Có thể khai báo các thuộc tính cho style thông qua
cStyle.alignmentHorizontal = HorizontalAlignmentValues.Left;
 Style.fontName = "Times New Roman";
 cStyle.fontSize = 12;
 Khi cStyle.CreateStyle(); sẽ tạo style theo tất cả các thuộc tính đã set -> CStyle.cs (line 97), hàm này sẽ bổ sung các thuộc tính quan trọng:
         public Fill _oFill { get; set; }
        public Border _oBorder { get; set; }
        public Font _oFont { get; set; }
        public Alignment _oAlignment { get; set; }
        public NumberingFormat _oNumberingFormat { get; set; }
Chú ý:
Riêng đối với _oNumberingFormat phải quan tâm tới NumberFormatId
Hàm InsertNumberingFormat
public uint InsertNumberingFormat(NumberingFormat numberingFormat, WorkbookPart workbookPart)
        {
            NumberingFormats numberingFormats = workbookPart.WorkbookStylesPart.Stylesheet.Elements<NumberingFormats>().First();
            //cập nhật id cho numberingFormat
            numberingFormat.NumberFormatId = numberingFormats.Count;
            numberingFormats.Append(numberingFormat);
            return (uint)numberingFormats.Count++;
        } 

Cuối cùng, hàm
public uint GetStyleIndex(WorkbookPart _workbookPart, Cell cell)
        {
            CellFormat cellFormat = cell.StyleIndex != null ? this.GetCellFormat(cell.StyleIndex, _workbookPart).CloneNode(true) as CellFormat : new CellFormat();
            this.AppendCellFormat(cellFormat, _workbookPart); //là hàm quan trọng để tạo các format
            uint styleIndex = this.InsertCellFormat(cellFormat, _workbookPart);
            return styleIndex;
        }

Sẽ thêm mới một style và trả về styleIndex
















Thứ Ba, 6 tháng 12, 2016

How to Use ViewModel in Asp.Net MVC with Example

Here we will learn what is viewmodel in asp.net mvc and how to use viewmodel in asp.net mvc applications with example.

ViewModel in Asp.Net MVC

The viewmodel in asp.net mvc represent only the data we want to display on view whether it is used for displaying or for taking input from view. If we want to display more than one model on view in asp.net mvc then we need to create a new viewmodel. Following image shows visual representation of view model in asp.net mvc.
Here we will learn asp.net mvc viewmodel with simple example if we have a Customer entity and Order entity. In view to display both entities (Customer entity + Order entity) data then we need to create viewmodel (CustomerVM) and we will select the properties whichever we want to display from both entities (Customer entity + Order entity) and create a viewmodel.

viewmodel structure in asp.net mvc application

Now start with creating a viewmodel in asp.net mvc before that let's have look on table which we are going to use in our application.

Thứ Sáu, 2 tháng 12, 2016

Hướng dẫn cài đặt PostgreSQL 9.5, PostGIS 2.2 and pgRouting 2.1.0 trong Centos

Postgres là hệ quản trị cơ sở mã nguồn mở hỗ trợ rất mạnh các hệ thống thông tin bản đồ (webgis). Tài liệu này sẽ hướng dẫn cài đặt PostgreSQL 9.5; PostGIS; Pgrouting trong hệ điều hành CentOS 6
Kết quả hình ảnh cho postgresql pgrouting 

Thứ Tư, 30 tháng 11, 2016

Hive đọc dữ liệu từ HDFS


Trong bài trước đã hướng dẫn sử dụng Hive phân tích dữ liệu chứng khoán. Trong ví dụ đó, tôi sử dụng lệnh “load data local inpath” để đưa dữ liệu từ thư mục lưu trữ trên máy local vào tảng dữ liệu đã được tạo sẵn trong hive. Lệnh trên cũng đồng thời tạo thư mục NYSE trong workspace của Hive trên HDFS. Với lệnh trên, tôi phân vân rằng liệu với dữ liệu streaming (sử dụng Apache Flume liên tục đẩy dữ liệu vào HDFS) thì làm thế nào để Hive có thể đọc được (dữ liệu mới được tự động đẩy vào Hive table để phân tích). Rất may Hive đã làm cho tôi việc này. Để hiểu rõ hơn cơ chế đọc dữ liệu của Hive, tôi đã test một trường hợp sau:
 Kết quả hình ảnh cho hive hdfs

Thứ Ba, 29 tháng 11, 2016

Sử dụng Hive trong phân tích chiều hướng của cổ phiếu


Trong bài trước đã hướng dẫn cài đặt hive trong môi trường centos. Bài này sẽ hướng dẫn một case cụ thể, sử dụng Hive phân tích chiều hướng của hai loại cổ phiếu. Dữ liệu thử nghiệm được lấy từ ‘NYSE_daily_prices_Q.csv’ là dữ liệu của hai mã cổ phiếu QRR và QTM của sàn NewYork.
 Kết quả hình ảnh cho new york stoke

Hướng dẫn cài đặt Hive trong Centos

Trong bài trước đã giới thiệu tổng quan về một số công cụ phân tích dữ liệu trong hệ sinh thai hadoop. Bài này sẽ hướng dẫn cài dặt Apache Hive trong môi trường CentOS/RHEL.
Kết quả hình ảnh cho apache hive centos 

Phân tích dữ liệu lớn với công nghệ Hadoop

Với sự phát triển của công nghệ và số lượng người dùng internet, một khối lượng khổng lồ đang được sinh ra hàng ngày gồm các loại dữ liệu đa cấu trúc như hình ảnh, video, weblog, dữ liệu thu nhận từ các cảm biến… Từ đó nảy sinh nhu cầu lớn về lưu trữ, xử lý, phân tích dữ liệu để từ đó khai phá các thông tin hữu ích